Functional and Imperative Programming, Part 2, 5 credits

Funktionell och imperativ programmering, del 2, 5 hp

TDDE24

Main field of study

Computer Science and Engineering Computer Science

Course level

First cycle

Course type

Programme course

Examiner

Fredrik Heintz

Director of studies or equivalent

Peter Dalenius

Education components

Preliminary scheduled hours: 0 h
Recommended self-study hours: 133 h
ECV = Elective / Compulsory / Voluntary
Course offered for Semester Period Timetable module Language Campus ECV
6CDDD Computer Science and Engineering, M Sc in Engineering 1 (Autumn 2017) 2 3 Swedish Linköping, Valla C
6CMJU Computer Science and Software Engineering, M Sc in Engineering 1 (Autumn 2017) 2 3 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

  • Computer Science and Engineering, M Sc in Engineering
  • Computer Science and Software Engineering, M Sc in Engineering

Entry requirements

Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshold requirements for progression within the programme, or corresponding.

Prerequisites

Elementary computer skills, basic programming in Python and basic discrete mathematics (sets, functions, relations, induction, graphs, logical expressions).

Intended learning outcomes

The aim of the course is that the students should develop their ability to formulate and solve problems using programming. After the course the student will be able to:

  • describe basic concepts of computer science related to programming and programming languages, in particular programming languages
  • formulate and implement recursive and iterative algorithms
  • construct abstractions with different types of support from the programming language 

Course content

The following topics are addressed during lectures:

  • programming and its relation to mathematics
  • recursion
  • data and program abstraction, abstract data types and data driven programming
  • functional programming

 

Teaching and working methods

Theory is addressed mainly during a series of seminars, with a small number of supplementary lectures. The ability to solve problems is trained during labs.  

Examination

LAB1Laboratory work2 creditsU, G
DAT1Computer Examination3 creditsU, 3, 4, 5

Grades

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

Other information

Supplementary courses: Imperative programming and Ada, Object oriented programming and Java, Data and program structures

Department

Institutionen för datavetenskap

Director of Studies or equivalent

Peter Dalenius

Examiner

Fredrik Heintz

Course website and other links

Education components

Preliminary scheduled hours: 0 h
Recommended self-study hours: 133 h

Course literature

Additional literature

Books

  • Zelle, John M., (2010) Python Programming: An Introduction to Computer Science Franklin, Beedle & Associates Inc.
    ISBN: 978-1-59028-241-0
Code Name Scope Grading scale
LAB1 Laboratory work 2 credits U, G
DAT1 Computer Examination 3 credits U, 3, 4, 5

Additional literature

Books

Zelle, John M., (2010) Python Programming: An Introduction to Computer Science Franklin, Beedle & Associates Inc.

ISBN: 978-1-59028-241-0

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
DAT1
LAB1

                            
1.2 Fundamental engineering knowledge (G1X level)
X
DAT1
LAB1

                            
1.3 Further knowledge, methods, and tools in one or several subjects in engineering or natural science (G2X level)

                            
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

                            
2. PERSONAL AND PROFESSIONAL SKILLS AND ATTRIBUTES
2.1 Analytical reasoning and problem solving
X
DAT1
LAB1

                            
2.2 Experimentation, investigation, and knowledge discovery

                            
2.3 System thinking

                            
2.4 Attitudes, thought, and learning
X

                            
2.5 Ethics, equity, and other responsibilities
X

                            
3. INTERPERSONAL SKILLS: TEAMWORK AND COMMUNICATION
3.1 Teamwork

                            
3.2 Communications

                            
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

                            
4.2 Enterprise and business context

                            
4.3 Conceiving, system engineering and management

                            
4.4 Designing

                            
4.5 Implementing

                            
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

                            
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.