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.