Introduction to Computer Programming, 8 credits
Programmering, grundkurs, 8 hp
TDDE44
Main field of study
Computer Science and Engineering, Computer ScienceCourse level
First cycleCourse type
Programme courseExaminer
Johan FalkenjackDirector of studies or equivalent
Anders FröbergEducation components
Preliminary scheduled hours: 66 hRecommended self-study hours: 147 h
| Course offered for | Semester | Period | Timetable module | Language | Campus | ECV | |
|---|---|---|---|---|---|---|---|
| 6CYYY | Applied Physics and Electrical Engineering, Master of Science in Engineering | 2 (Spring 2027) | 1, 2 | 2, 1 | Swedish | Linköping, Valla | C |
| 6CMED | Biomedical Engineering, Master of Science in Engineering | 2 (Spring 2027) | 1, 2 | 2, 1 | Swedish | Linköping, Valla | C |
| 6CTMA | Engineering Mathematics, Master of Science in Engineering | 2 (Spring 2027) | 1, 2 | 2, 1 | Swedish | Linköping, Valla | C |
| 6KMAT | Mathematics, Bachelor's Programme | 2 (Spring 2027) | 1, 2 | 2, 1 | Swedish | Linköping, Valla | C |
Main field of study
Computer Science and Engineering, Computer ScienceCourse level
First cycleAdvancement level
G1NCourse offered for
- Bachelor's Programme in Mathematics
- Master of Science in Applied Physics and Electrical Engineering
- Master of Science in Biomedical Engineering
- Master of Science in Engineering Mathematics
Prerequisites
Basic computer skills.
Intended learning outcomes
The intended purpose of this course is to facilitate and provide students with fundamental skills and knowledge pertaining to computer programming and an introduction to Computer Science. After having completed the course, the student should be able to:
- Make use of the computing environment for tasks related to programming and building basic programs
- Explain fundamental concepts related to computer science, programming, and programming languages
- Solve programming related problems by applying an interactive approach to implementation, testing and troubleshooting
- Construct abstractions using varying degree of support provided by the programming language
- Solve programming problems by breaking them down into smaller sub-problems
- Construct recursive and iterative algorithms
Course content
- A general introduction to Computer Science
- Programming fundamentals: expressions, basic datatypes, variables, functions, control structures, file management, file formats, modules
- The Python programming language
- Use of open data resources from the web
- Interactive and incremental program development
- Testing and troubleshooting
- Programming paradigms: functional, imperative and object-oriented programming
- Abstraction: Data and program abstraction
Teaching and working methods
The course consists of lectures, tutorials and laboratory sessions. Concepts and their applications are treated during lectures and tutorials. Practical skills and abilities are practiced during laboratory sessions by solving programming exercises. The course setup requires a high degree of student activity and that students engage in private studies outside of the scheduled classes.
Examination
| LAB2 | Data and program abstraction/intro to object-oriented programming | 3 credits | U, G |
| LAB1 | Fundamentals in programming and computer system | 3 credits | U, G |
| DAT1 | Computer examination | 2 credits | U, 3, 4, 5 |
Grades for examination modules are decided in accordance with the assessment criteria presented at the start of the course.
Grades
Four-grade scale, LiU, U, 3, 4, 5Other information
Supplementary courses: Programming - data structures and algorithms. Data and program structures.
About teaching and examination language
The teaching language is presented in the Overview tab for each course. The examination language relates to the teaching language as follows:
- If teaching language is “Swedish”, the course as a whole could be given in Swedish, or partly in English. Examination language is Swedish, but parts of the examination can be in English.
- If teaching language is “English”, the course as a whole is taught in English. Examination language is English.
- If teaching language is “Swedish/English”, the course as a whole will be taught in English if students without prior knowledge of the Swedish language participate. Examination language is Swedish or English depending on teaching language.
Other
The course is conducted in such a way that there are equal opportunities with regard to sex, transgender identity or expression, ethnicity, religion or other belief, disability, sexual orientation and age.
The planning and implementation of a course should correspond to the course syllabus. The course evaluation should therefore be conducted with the course syllabus as a starting point.
The course is campus-based at the location specified for the course, unless otherwise stated under “Teaching and working methods”. Please note, in a campus-based course occasional remote sessions could be included.
Department
Institutionen för datavetenskapCourse literature
Additional literature
Books
- Downey, Allen B., (2024) Think Python : how to think like a computer scientist. Third edition Sebastopol : O'Reilly, 2024
ISBN: 9781098155438
https://allendowney.github.io/ThinkPython/ - Lutz, Mark, (2025) Learning Python : powerful object-oriented programming
ISBN: 9781098171308, 1098171306 - Miller, Bradley N., Ranum, David L., (2011) Problem solving with algorithms and data structures using Python. 2nd ed. 2011
ISBN: 9781590282571, 1590282574 - Punch, William, Enbody, Richard, (2017) The practice of computing using Python. Third edition Global edition Boston : Pearson, 2017
ISBN: 9781292166629, 1292166622 - Skansholm, Jan, (2019) Python från början. Studentlitteratur.
ISBN: 9789144134932 - Swaroop, C. H., (2018) A Byte of Python
https://python.swaroopch.com/ - Zelle, John M., (2017) Python Programming : An Introduction To Computer Science Third Edition. Franklin, Beedle & Associates, 2017.
ISBN: 9781590282755, 1590282752
| Code | Name | Scope | Grading scale |
|---|---|---|---|
| LAB2 | Data and program abstraction/intro to object-oriented programming | 3 credits | U, G |
| LAB1 | Fundamentals in programming and computer system | 3 credits | U, G |
| DAT1 | Computer examination | 2 credits | U, 3, 4, 5 |
Grades for examination modules are decided in accordance with the assessment criteria presented at the start of the course.
Additional literature
Books
ISBN: 9781098155438
ISBN: 9781098171308, 1098171306
ISBN: 9781590282571, 1590282574
ISBN: 9781292166629, 1292166622
ISBN: 9789144134932
ISBN: 9781590282755, 1590282752
Note: The course matrix might contain more information in Swedish.
| I | U | A | Modules | Comment | ||
|---|---|---|---|---|---|---|
| 1. DISCIPLINARY KNOWLEDGE AND REASONING | ||||||
| 1.1 Knowledge of underlying mathematics and science (courses on G1X-level) |
|
|
X
|
Examples and exercises featuring elementary mathematical concepts |
||
| 1.2 Fundamental engineering knowledge (courses on G1X-level) |
X
|
X
|
|
DAT1
LAB1
LAB2
|
Programming/computer science and problem solving using computational thinking. |
|
| 1.3 Further knowledge, methods and tools in any of : mathematics, natural sciences, engineering (courses at G2X level) |
X
|
|
|
Applications in technical domains are sometimes used as illustrative examples during lectures. |
||
| 1.4 Advanced knowledge, methods and tools in any of: mathematics, natural sciences, engineering (courses at A1X level) |
X
|
|
|
Applications in advanced technical domains are often referenced during lectures as extensions of the current topic. |
||
| 1.5 Insight into current research and development work |
X
|
|
|
How programming can be used in research and development work. E.g. for prototyping, modeling, analysis, data management, etc. |
||
| 2. PERSONAL AND PROFESSIONAL SKILLS AND ATTRIBUTES | ||||||
| 2.1 Analytical reasoning and problem solving |
|
X
|
|
DAT1
LAB1
LAB2
|
Problem solving using computational thinking in general. |
|
| 2.2 Experimentation, investigation, and knowledge discovery |
|
X
|
|
LAB1
LAB2
|
Course organized around experimentative and problem solving focused programming assignments. |
|
| 2.3 System thinking |
X
|
|
|
Potential and consequences of automation using software. |
||
| 2.4 Attitudes, thought, and learning |
X
|
X
|
|
DAT1
LAB1
LAB2
|
Programming and problem solving. Approach and ability to use reference documentation and search for knowledge on the web. |
|
| 2.5 Ethics, equity, and other responsibilities |
X
|
|
|
Consequences of software that is incorrectly or problematically specified, implemented, or applied. |
||
| 3. INTERPERSONAL SKILLS: TEAMWORK AND COMMUNICATION | ||||||
| 3.1 Teamwork |
|
|
X
|
LAB1
LAB2
|
Labs are done in pairs |
|
| 3.2 Communications |
|
|
X
|
LAB1
LAB2
|
Labs are done in pairs |
|
| 3.3 Communication in foreign languages |
|
X
|
|
LAB1
LAB2
|
English terms are introduced beside the Swedish terms and descriptions. Code examples, incl. comments, are usually written in English. Code, and in-code documentation, produced by students during labs is expected to be written in English. |
|
| 4. CONCEIVING, DESIGNING, IMPLEMENTING AND OPERATING SYSTEMS IN THE ENTERPRISE, SOCIETAL AND ENVIRONMENTAL CONTEXT | ||||||
| 4.1 Societal conditions, including economically, socially and ecologically sustainable development |
X
|
|
|
Impact and opportunities with software in a digitized society. |
||
| 4.2 Enterprise and business context |
X
|
|
|
Some examples provided during lectures. |
||
| 4.3 Conceiving, system engineering and management |
|
|
|
|||
| 4.4 Designing |
X
|
|
|
Introduction to software development processes. |
||
| 4.5 Implementing |
X
|
X
|
|
LAB2
|
Laboratory work that illustrates the use of programming in future professional situations considering efficient use of resources. |
|
| 4.6 Operating |
X
|
|
|
Production environments and usability is introduced in the lectures when they relate to the main topic. |
||
| 5. PLANNING, EXECUTION AND PRESENTATION OF RESEARCH DEVELOPMENT PROJECTS WITH RESPECT TO SCIENTIFIC AND SOCIETAL NEEDS AND REQUIREMENTS | ||||||
| 5.1 Societal conditions, including economically, socially and ecologically sustainable development within research or development projects |
X
|
|
|
Impact and opportunities with software in a digitized society. Consequences of ineffective use of resources, e.g. in relation to use of generative AI and AI-generated software. |
||
| 5.2 Economic conditions for research or development projects |
|
|
|
|||
| 5.3 Identification of needs, structuring and planning of research or development projects |
|
|
|
|||
| 5.4 Execution of research or development projects |
|
|
|
|||
| 5.5 Presentation and evaluation of research or development projects |
|
|
|
|||
This tab contains public material from the course room in Lisam. The information published here is not legally binding, such material can be found under the other tabs on this page.
There are no files available for this course.