Course syllabus

Course-PM

LP3 and LP4 VT25

DAT456: Fundamentals of program development (4.5 HEC)

The course is offered by the department of Computer Science and Engineering

Contact details

  • lecturer and course responsible: Inari Listenmaa
  • examiner: Jean-Philippe Bernardy <jean-philippe.bernardy@gu.se>
  • Teaching assistants:
    • TBD
       

Student Representatives:  TBD 

Schedule

This course is run remotely, between week 4 and week 24.
Each week, we offer (at least) the following opportunities for remote learning:
  - One lecture on Tuesday from 6pm to 7pm.
  - One consultation on Thursday from 6pm to 7pm.
We have additionally two obligatory on-campus meetings.
  • A one-day workshop, on either April 8, 9 or 10. Students can choose which day to attend on a first come-first served basis. Registration for the workshop will open after the course starts.
  •  A final evaluation, on June 12 (8:30 to 12:30)

The lecture topics, slides, etc. will appear as modules as the course progresses.

Course literature

John M. Zelle, Python Programming: An Introduction to Computer Science, 3rd edition, Franklin, Beedle, & Associates, 2017 https://mcsp.wartburg.edu/zelle/python/

The book is also available as e-book: https://redshelf.com/book/522399/python-programming-522399-9781590282779-john-zelle

Learning outcomes

Knowledge and understanding

  • Grasp the relation between source code, the interpreter, and the machine.

Competence and skill

  • Structure small programs by the use of concepts such as iterations, functions, modules, classes, and methods.
  • Form readable, descriptive and well-documented program code.
  • Use programming for basic data analysis involving large textual or numeric files.
  • Express mathematical formulas as programming language expressions and algorithms.
  • Build basic interactive programs with text-based (and graphical) user interfaces.
  • Use programming tools such as text editor, command line interface, and IDE (integrated development environment).
  • Use standard libraries and follow best programming practices.

Judgement and approach

  • Assess the difficulty and resources needed for typical programming tasks.

Content

The course is a first introduction to programming by using the general-purpose programming language Python. It gives a comprehensive knowledge of the language, enabling the student to write code for a wide variety of tasks and to read and reuse code written by other programmers.

  • Literals, types, variables, declarations, initialization, operators, expressions and statements, scope.
  • Control statements: if, while, for, break, continue, return
  • functions, parameters, arguments, method calls, local variables.
  • Classes, objects, instance and class variables/methods.
  • Simple data structures (list, dictionary, set, stack).
  • One- and two-dimensional lists.
  • Input and output.
  • Overview of file handling.
  • Text handling, strings.

Organisation

The teaching consists of lectures, exercises, as well as supervision in connection to the exercises.

Examination form

To pass the course it is necessary to do:

  • obligatory labs which must be submitted before the deadline and approved by a supervisor. The grading can involve automatic testing, but supervisors also manually inspect the submissions for clarity, correctness and general quality.
  • An on-campus workshop (Sign-up link will appear as the course progresses)
  • A digital exam. Permitted aids: one handwritten A4 sheet.

Course summary:

Date Details Due