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
This course is a mandatory course on the 1st semester on the BSc Digital Design and Interactive Technologies.
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.
Intended learning outcomes
After the course, the student should be able to:
- analyze 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 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. Written formative feedback will be provided by the teacher and TAs.
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.
Automate the Boring Stuff with Python, 2nd Edition, Al Sweigart
Freely available at https://automatetheboringstuff.com/.
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:
A: Written exam on premises, External (7-point scale)
A22: Written exam on premises with restrictions.
Restricted access - LearnIT only
Written and printed books and notes
E-books and/or other electronic devices