Official course description:
Basic info last published 26/02-19

Introduction to Programming

Course info
Language:
English
ECTS points:
7.5
Course code:
BAINPRO1KU
Offered to guest students:
-
Offered to exchange students:
Offered as a single subject:
-
Programme
Level:
Bachelor
Programme:
BSc in Digital Design and Interactive Technologies
Staff
Course semester
Semester
Efterår 2018
Start
27 August 2018
End
28 December 2018
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract

The main outcome of the course is that the students are equipped with basic skills in programming.

Description

The course is important because basic programming skills are required in several of the subsequent courses in the programme. The main issue addressed in a larger context is that, in order to fully develop, explore and evaluate digital design solutions, a certain ability to construct and program working prototypes is required.

The student will gain basic abilities to program working prototypes of digital design solutions, which will expand the future possibilities to develop as a digital designer and to communicate with programmers and other specialists in interactive technologies.

The course conveys an understanding of basic principles, challenges and practices of programming to students of a design-oriented study line. It is part of an effort to offer all students of ITU an identical introduction to IT. No previous programming experience is required or  expected. Topics of the course include sorting, stacks and queues, correctness of code, running time, computational complexity, reading and writing text-based databases, and the use of command-line tools. The course lays a solid foundation on which subsequent programming courses e.g. on interaction, graphics or physical computing, can build. The course uses the Python programming language, and is based on two text books (free pdfs available online), Matthes: Python Crash Course, and Sweigart: Automate Boring Stuff.


In more detail, the course covers the following topics:

  • Sequential execution, expression, selection, iteration, state, variable, assignment 
  • String manipulation and text files
  • Testing and debugging
  • Stacks and queues, sorting 
  • Worst-case running time 
  • Abstract data types, types
  • Objects, classes


Formal prerequisites
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. No previous programming experience is required or expected.
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, command-line tools, and a version control system.
Ordinary exam
Exam type:
A: Written exam, external (7-trinsskala)
Exam description:
A22: Written exam on premises with restrictions., (7-scale, external exam) 4 hours individual programming exam on premises at computers not connected to the internet.