Course syllabus
Course-PM
DAT445 Introductory course in programming LP3 VT22 (7 hp)
Course is offered by the department of Computer Science and Engineering
Contact details
- examiner: Krasimir Angelov <krasimir@chalmers.se>
- Teaching assistants:
- Johan Andersson <joha@student.chalmers.se>
- Rakel Hellberg <rakelh@student.chalmers.se>
- Felix Jönsson <feljon@student.chalmers.se>
- Klaudia Mur <kmur@student.chalmers.se>
- Shreyash Kad <shreyash@student.chalmers.se>
- Course representatives:
- TKELT
- Ella Dahlström <elladah@student.chalmers.se>
- Algot Lüning <algotlu@student.chalmers.se>
- TKMED
- Ahmed Deer <ahmedde@student.chalmers.se>
- Johan Widing <johanwid@student.chalmers.se>
- TKELT
Course purpose
Computer programming is a basic skill needed in both studies and professional life. This course gives the basic skills that the participants can both accomplish programming tasks typical of science and engineering tasks and understand the fundamental principles of computers and programming.
Schedule
The course schedule is available in the Canvas calendar as well as in TimeEdit
Course literature
John M. Zelle, Python Programming: An Introduction to Computer Science, 3rd edition, Franklin, Beedle, & Associates, 2017 https://mcsp.wartburg.edu/zelle/python/
Course design
The course consists of two online lectures every week. One exercise session and two labs sessions on campus. For students who prefer to avoid the on campus sessions, help will be provided online. The schedule can be see at the bottom of this page, as well as in the Canvas calendar.
Learning objectives and syllabus
Learning objectives:
On successful completion of the course the student will be able to:
Knowledge and understanding
- Express mathematical formulas as programming language expressions and algorithms
- Choose appropriate data types and data structures for different kinds of data
- Structure large programs into manageable and reusable units by the use of concepts such as modules, classes, and functions
- Search and find relevant program libraries and use them in adequate ways
- Explain the relations between hardware, operating system, and user programs
- Use programming for basic data analysis involving large files
Competence and skills
- Write programs that manipulate numeric and textual data to perform standard programming tasks
- Build interactive programs with both text-based and graphical user interfaces
- Make programs that read, transform, and generate files in the file system
- Use standard libraries and follow best programming practices
- Test programs by methods such as unit, regression, and property-based testing
- Use programming tools such as code editors and revision control systems
Judgement and approach
- Assess the difficulty and resources needed for typical programming tasks
- Analyse code written by others and find errors and possibilities for improvement
Link to the syllabus on Studieportalen.
Examination form
To pass the course it is necessary to do:
- 3 obligatory labs which must be submitted before the deadline and approved by a supervisor. The grading will be mostly based on an automatic testing, but the supervisors also have the right to reject submissions after manual inspections of the code.
- A written exam .