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.