Learning Outcomes
COGNITIVE
Upon successful completion of the course, students will:
1) Describe the characteristics of modern scientific learning theories and their impact on educational software design.
2) Explain the functional and structural features of the various software categories (such as architecture, interface, etc.) and relate them to learning theories and corresponding didactical models.
SKILLS
Upon successful completion of the course, students will:
1) They can apply object-oriented programming techniques in Python programming language for software development in which ideas of lesson theory will be implemented (such as, learning simulation, smart algorithms for learning, etc.)
Course Content (Syllabus)
(a) Learning Theories
Basic concepts and definitions: Cognition and Learning, Representation, Learning and Education, Learning Theories and Didactic Model, Technology and Technology-enhanced learning, Learning Theories and Educational Software,
Behaviorism: Historical background, Operational conditioning, Impact on educational technology, Programmed instruction, "Drill 'n' Practice" software.
Cognitive Theories: Historical background, Representational approach and Information Processing Theory, Cognitive theories and Educational Software Design, Cognitive Flexibility Theory, Double Coding Theory and Multimedia Learning.
Constructivism, Historical background, Discovery/Inquiry Learning, Educational simulation software, Microworld and Modeller, Inquiry learning with simulation software.
Social constructivism: Socio-cultural approach, Zone of proximal development, Computer-supported Collaborative Learning (CSCL), Learning Design Tools.
Connectivism: Participatory Web 2.0, Social networks and learning/education, Wikis, Blogs and educational use, Mobile learning (m-learning).
Constructionism: Experiential learning, Papert and Logo-like tools, Educational Robotics, Game-based learning (digital games, gamification).
(b) Programming Lab
Basic Python: Basic programming language features and execution model), Variables, Basic programming structures (if, while, for), Basic data structures (list, dictionary, tuple, set), Functions, File handling, Exception handling.
Advanced Python: Object-oriented programming (classes and object/instances), Linking to external libraries, Multimedia interactive applications using the Pygame library.