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
- TBD
Student Representatives: TBD
Schedule
- 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 |
---|---|---|