Course syllabus
Course-PM
LP3 VT24
DAT645 Introduction to programming
The course is offered by the Department of Computer Science and Engineering
Contact details
- examiner: Jean-Philippe Bernardy <jean-philippe.bernardy@gu.se>
- lecturer and course responsible: Esther Galby <galby@chalmers.se>
- Teaching assistants:
- - Wincent Holm <wincenth@chalmers.se>
- Henrik Valter <valterh@chalmers.se>
- Isabel Ljungberg <isalju@chalmers.se>
- Katya Voloshina <ekaterina.voloshina@chalmers.se>
- George Granberry <georgegr@chalmers.se>
- Eli Uhlin <gusuhlinel@student.gu.se>
- Arthur Alexandersson <arthura@student.chalmers.se>
- Ali Saaeddin <alisaa@chalmers.se>
- Sofia Lindh <lindhsofia@live.se>
- Marcel Schweikart <marcelsc@student.chalmers.se>
- Jakob Backhaus <jakobba@chalmers.se>
- Ida Thorburn <ida.thorburn@gmail.com>
- Oskar Uhlmann <oskar.uhlmann@gmail.com>
- Samuel Paulsson <samuelpa@chalmers.se>
- Melker Rååd <melker.raad@yahoo.se>
- Love Lindqvist <love.lindqvist101@gmail.com>
- Oscar Palm <palmoscar4@gmail.com>
- Kusai Al Malt <kusai@student.chalmers.se>
- Muhammad Abdullah Arshad <abdullaharshad171@gmail.com>
- Mohammad Karimi <karimimo@student.chalmers.se>
- Isabell Nordmark <nordmarkisabell@gmail.com>
- Abdur Arshad <abdura@chalmers.se>
- Aron Larsson <arlars03@gmail.com>
- Chloe Dusen <dusen@chalmers.se>
- Oskar Andersson <oskar.neox+gu@gmail.com>
- Simon Wiman <simon.wiman4@gmail.com>
- Jacob Helm <jacobhelmm@gmail.com>
- Omar Younes <omaryo@chalmers.se>
- Gabriel Mörck <morckg@student.chalmers.se>
- Jakob Grevle <jakob@grevle.se>
- Nadia Farias <nadia@farias.se>
- Sam Ebrahimi <sam.ebrahimi@live.se>
- David Memedov <davidmem@chalmers.se>
- Samuel Falck <samuelfalck@gmail.com>
- Sofia Forsberg <sofiaellenforsberg@gmail.com>
Student Representatives:
- Emilie Gunnarsson <emegunna@chalmers.se>
- Ella Hakeberg <ellahak@chalmers.se>
- Vilmer Karlsson <vilmerk@chalmers.se>
- Märta Lundskog <martalu@student.chalmers.se>
- Emil Ranslid <ranslid@chalmers.se>
- Frida Welin <friwel@chalmers.se>
Schedule
The course schedule is available on TimeEdit
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 objectives and syllabus
Aim
Computer programming is a fundamental skill needed in both studies and professional life. This course gives the basic skills so that the students can both perform [simple](B) programming tasks that are typical in science and engineering as well as understand the fundamental principles of computers and programming.
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.
- 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.
- 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, group work, exercises, as well as supervision in connection to the exercises.
Examination form
A digital exam and compulsory programming assignments.
Permitted aids for exams: one handwritten A4 sheet.