Introduction to Computer Programming, 8 credits

Programmering, grundkurs, 8 hp

TDDE44

Main field of study

Computer Science and Engineering Computer Science

Course level

First cycle

Course type

Programme course

Examiner

Jody Foo

Director of studies or equivalent

Jalal Maleki

Education components

Preliminary scheduled hours: 66 h
Recommended self-study hours: 147 h
ECV = Elective / Compulsory / Voluntary
Course offered for Semester Period Timetable module Language Campus ECV
6CYYY Applied Physics and Electrical Engineering, Master of Science in Engineering 2 (Spring 2022) 1, 2 2, 1 Swedish Linköping, Valla C
6CMED Biomedical Engineering, Master of Science in Engineering 2 (Spring 2022) 1, 2 2, 1 Swedish Linköping, Valla C
6KMAT Mathematics, Bachelor's Programme 2 (Spring 2022) 1, 2 2, 1 Swedish Linköping, Valla C

Main field of study

Computer Science and Engineering, Computer Science

Course level

First cycle

Advancement level

G1X

Course offered for

  • Master of Science in Biomedical Engineering
  • Master of Science in Applied Physics and Electrical Engineering
  • Bachelor's Programme in 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

LAB2Data and program abstraction/intro to object-oriented programming3 creditsU, G
LAB1Fundamentals in programming and computer system3 creditsU, G
DAT1Computer examination2 creditsU, 3, 4, 5

Grades

Four-grade scale, LiU, U, 3, 4, 5

Other 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 a manner where both men's and women's experience and knowledge are made visible and developed. 

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.  

If special circumstances prevail, the vice-chancellor may in a special decision specify the preconditions for temporary deviations from this course syllabus, and delegate the right to take such decisions.

Department

Institutionen för datavetenskap

Course literature

Regulary literature

Books

  • Skansholm, Jan, (2019) Python från början. Studentlitteratur.
    ISBN: 9789144134932

Additional literature

Books

  • Lutz, Mark, (2013) Learning Python 5. ed. Sebastopol, Calif. : O'Reilly, 2013
    ISBN: 9781449355739
  • Zelle, John M., (2010) Python programming : an introduction to computer science 2nd ed. Sherwood, Or. : Franklin, Beedle & Associates, 2010
    ISBN: 9781590282410
  • 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

Regulary literature

Books

Skansholm, Jan, (2019) Python från början. Studentlitteratur.

ISBN: 9789144134932

Additional literature

Books

Lutz, Mark, (2013) Learning Python 5. ed. Sebastopol, Calif. : O'Reilly, 2013

ISBN: 9781449355739

Zelle, John M., (2010) Python programming : an introduction to computer science 2nd ed. Sherwood, Or. : Franklin, Beedle & Associates, 2010

ISBN: 9781590282410

Zelle, John M., (2017) Python Programming : An Introduction To Computer Science Third Edition. Franklin, Beedle & Associates, 2017.

ISBN: 9781590282755, 1590282752

Note: The course matrix might contain more information in Swedish.

I = Introduce, U = Teach, A = Utilize
I U A Modules Comment
1. DISCIPLINARY KNOWLEDGE AND REASONING
1.1 Knowledge of underlying mathematics and science (G1X level)
X
Examples and exercises with mathematical elements
1.2 Fundamental engineering knowledge (G1X level)
X
X
DAT1
LAB1
LAB2
Programming/computer science
1.3 Further knowledge, methods, and tools in one or several subjects in engineering or natural science (G2X level)
X
Did you mean: Arbetsflöden, metoder och verktyg relaterade till programmering aktiviteten
75/5000
Workflows, methods and tools related to the programming activity mentioned during lectures
1.4 Advanced knowledge, methods, and tools in one or several subjects in engineering or natural sciences (A1X level)

                            
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
2. PERSONAL AND PROFESSIONAL SKILLS AND ATTRIBUTES
2.1 Analytical reasoning and problem solving
X
DAT1
LAB1
LAB2

                            
2.2 Experimentation, investigation, and knowledge discovery
X
LAB1
LAB2

                            
2.3 System thinking
X

                            
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

                            
3. INTERPERSONAL SKILLS: TEAMWORK AND COMMUNICATION
3.1 Teamwork
X
Labs are done in pairs
3.2 Communications
X
Labs are done in pairs
3.3 Communication in foreign languages

                            
4. CONCEIVING, DESIGNING, IMPLEMENTING AND OPERATING SYSTEMS IN THE ENTERPRISE, SOCIETAL AND ENVIRONMENTAL CONTEXT
4.1 External, societal, and environmental context
X
Effekter och möjligheter med mjukvara i ett digitaliserat samhälle
66/5000
Effects and opportunities with software in a digitized society
4.2 Enterprise and business context

                            
4.3 Conceiving, system engineering and management
X
Introduction to software development
4.4 Designing
X
Introduction to software development
4.5 Implementing
X
X
Introduction to software development, laboratory work that exemplifies the use of programming in future professional situations
4.6 Operating

                            
5. PLANNING, EXECUTION AND PRESENTATION OF RESEARCH DEVELOPMENT PROJECTS WITH RESPECT TO SCIENTIFIC AND SOCIETAL NEEDS AND REQUIREMENTS
5.1 Societal conditions, including economic, social, and ecological aspects of sustainable development for knowledge development
X
Effects and opportunities with software in a digitized society
5.2 Economic conditions for knowledge development

                            
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.