Introduction to Programming
AbstractStudents learn about the concept of computational thinking and get a hands-on introduction to programming using the Python programming language.
The course provides students with a basic understanding of computational thinking and programming both for their own future use and for their ability to collaborate with experienced programmers and software developers.
The students will learn about the concept of computational thinking and get a hands-on introduction to programming using the Python programming language.
Programming and computational thinking are basic primitives in today’s IT world. This course provides a basic and hands-on introduction into these topics. The programming language is going to be Python. After taking the course, students have a solid technical foundation with regard to programming.
Contents of the course:
- Sequential execution, expression, selection, iteration, state, variable, assignment
- String manipulation and text files
- Testing and debugging
- Searching, sorting
- Worst-case running time
- Objects, classes
The student is able to use a modern electronic computer for text processing, email, and web browsing. The student is able to download and install new software.
This course is not available to students who have already passed the course IT Foundations. Students needing to retake IT Foundations must take this course instead.
Intended learning outcomes
After the course, the student should be able to:
- analyse a given, simple computational task such as manipulation of a text-based database or external hardware device to the extent of designing a programmatic solution and implementing it in a modern, text-base, domain-neutral programming language
- test the correctness of a piece of code
- write program documentation
- reason about the computational complexity of an algorithm
- express functionality in terms of abstract data type or application programming interface
- use text-based tools of program development, including an editor and command-line tools.
14 weeks of lectures or individual study of the course material.
Since learning programming is a step-by-step process which requires students to follow the syllabus in a chronological order, this course employs mandatory assignments that validate that the students understand the course contents on a level required to proceed to the next step.
The course has 5 mandatory assignments, of which 4 must be completed and approved before the student can take the examination. If the submission for a mandatory assignment is late or considered to be insufficient, it is not approved. However, make-up opportunities are available in these cases. Detailed descriptions of the mandatory activities are available on the course website.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.
The course literature is published in the course page in LearnIT.
Student Activity BudgetEstimated distribution of learning activities for the typical student
- Preparation for lectures and exercises: 10%
- Lectures: 20%
- Exercises: 30%
- Assignments: 20%
- Exam with preparation: 15%
- Other: 5%
Ordinary examExam type:
C: Submission of written work, External (7-point scale)
C22: Submission of written work – Take home
Duration: 4 hours (please disregard the 1 day duration below)
Aids allowed: Written and printed books and notes.
No communication and collaboration allowed
*Random fraud control with Zoom will be conducted right after the submission.*
Student Affairs and Programmes will randomly select 20 % of students who will have to show up in Zoom to check authorship of submitted solutions.
The selection of students for fraud control will be published in LearnIT right after the exam together with a link to the Zoom meeting.
More information in LearnIT