Course contents *
The programming part of the course aims to give the student:
- An introduction to computer science concepts, which includes: programming in a modern programming language, data structures and problem solving by dividing it into subproblems.
- Knowledge about the basic concepts and building blocks within programming, which includes sequences, alternatives, conditions, loops and functions.
- Knowledge of algorithmic thinking.
- Possibility to create, troubleshoot, and test code. Code in a textbased programming language and get an orientation in another programming language.
- Possibilty to read, understand, troubleshoot, test and improve existing program code.The course part focused on technology teaching aims to give the student:
- Orientation of relevant research in the didactics of technology.
- Understanding of technical solutions that contains programming
- Knowledge of didactic content and practice for teaching programming within the technology subject and across subjects.
The course part focused on mathematic teaching aims to give the student:
- Orientation of relevant research in mathematical didactics and programming didactics, and excercises in how to turn didactical principals into their teaching.
- Understanding of how programming strengthens the mathematical abilities of the student, with focus on problem solving and exploring concepts
- Understanding of how programming kan be used to support mathematical problem solving on elementary school level.
- Knowledge of didactic content and practice for teaching programming within mathematics and across subjects.
Intended learning outcomes *
Within the programming part of the course the student should after the course be able to:
- Solve problems via constructing a program consisting of up until fivehundred lines in a modern programming language
- Apply and explain rules and proper practices of coding (such as comments, error handling, code structure, flexibility). Follow the syntax rules of the used programming language and then be able to discover and correct errors in the code. Modify given programs.
- Transfer data between a file and a program, identify the need for and make use of control structures (conditons and loops), split a large problem into smaller manageable parts and construct their corresponding functions. Use the data structures that are built in to the programming language and choose the data structure that helps solves a given problem
- Examine programs created by others in order to use programming to solve problems, apply the method of problem solving also outside of programming, discuss software development with experts and assess commercial programs.
Within the didactical part of the course the student should be able to:
- be sufficient in using methods for using programming in mathematics or technology teaching, which include: be able to identify elements och parts of the respective course/subject-plans where programming is a useful instrument.
- Identify and make use of programming languages, tools and and programming environments that are relevant for teaching programming in mathematics or technology teaching in elementary school
- Utilize didactical practices for teaching programming in elementary school
This course is offered in the form of flexible learning with approximately four compulsory meetings at KTH. Between these meetings, the students manage their learning via a webbplatform and other means.