Course syllabus
Course-PM
EEN065 EEN065 Applied computer programming lp4 VT26 (7.5 hp)
Course is offered by the department of Electrical Engineering
All course communication is in English. If you have a question about this page and want it documented, post your question here: Questions and comments about the syllabus
The course is designed and delivered on campus so you are strongly encouraged to attend the sessions, but recorded lectures are posted in Chalmers Play (up to two business days later) to cover unplanned situations (such as sickness).
This page was last updated 2026-03-05. This page is temporary, mainly shared for the literature, and will be updated until the first lecture.
Contact details
The course administration reserves Mondays and Wednesdays for activities other than course administration, except if we have a session. Weeks 15 and 20 do not have course activities and are also reserved, i.e., there will be no course administration activities. We will answer Canvas messages and the discussion forum during business hours, except on reserved days.
- Teacher and course responsible
- Seyed Morteza Ahmadian
- Any issues/requests/comments related to the course must be raised during the lectures (let me know at the beginning of the lecture and we talk at the end). Messages in Canvas should be used only if strictly necessary. Email must not be used.
- Teaching assistants
- Kiarash Rezaei / github.com/kiarashRezaei
- Jayadev Naram / github.com/JayD2106
- Any issues/requests/comments related to the course must be raised during the lab sessions.
- Support
- Paolo Monti (Course Examiner) mpaolo@chalmers.se
- Carlos Natalino / carlos.natalino@chalmers.se (please prefer messages in canvas) / github.com/carlosnatalino.
- Any issues/requests/comments related to the course can be sent preferably via Canvas messages. Email must not be used.
- Student representatives
- To be announced
Course syllabus, purpose, prerequisites, learning outcomes, and content
Detailed information can be found here: https://www.chalmers.se/en/education/your-studies/find-course-and-programme-syllabi/course-syllabus/EEN065/?acYear=2025%2F2026
Schedule
Always check TimeEdit for the updated schedule.
Only use the following backup PDF file (as of 2026-03-05) if TimeEdit is not available: TimeEdit_EEN065_50_VT26_68119_Applied_computer_programming_2026-03-23_2026-06-07_Joha..._2026-03-05_16_49.pdf
Course literature
The course mandatory literature is the lecture notes. The relevant chapter(s) must be read before the respective lecture. Students taking the course are not required to buy any book. To access the lecture notes, you must either be connected to the Chalmers network (Eduroam, for instance) or be connected to the Chalmers VPN (instructions for Windows and for Mac).
The lecture notes can be accessed through the link: https://e2onprojects.e2.chalmers.se/notes/
If you try to access the notes from outside of Chalmers, you will get a 403 Forbidden message.
Feedback related to the lecture notes (including anonymous feedback) is welcome here: Questions and comments about the lecture notes
The following material available online can be used for further studies, in addition to the ones referred to in the lecture notes.
- Python online documentation: https://docs.python.org/3.13/
- Python Tutorial: https://docs.python.org/3.13/tutorial/index.html
- Python Standard Library: https://docs.python.org/3.13/library/index.html
- Visual Studio Code documentation for Python: https://code.visualstudio.com/docs/python/python-tutorial
- Matplotlib: https://matplotlib.org/
The lecture notes and links above can be easily used with tools for students with disabilities, or simply any Chalmers student who wants a reader for the textual material. More information about these tools can be found here: https://www.chalmers.se/en/education/student-support/disability-study-support/#Software-adapted-to-students-with-disabilities:~:text=Software%20adapted%20to%20students%20with%20disabilities
The following books are recommended (optional) reference reading for those who want to further develop their knowledge or want a reference in Swedish. They are all available at the Chalmers library. To find them, search using their ISBN.
- Introducing Python: Modern Computing in Simple Packages, by Bill Lubanovic, 2nd edition, 2020, ISBN: 978-1492051367.
- Covers topics of lectures 1-6
- Relevant chapters: 1-11, 16.1-16.4, 18
- Online copy available through the library: Chalmers' Library here Links to an external site.
- Python från början, by Jan Skansholm, 2019 or 2024, ISBN: 9789144187617 or 9789144134932
- Available in the Library: https://research.ebsco.com/c/lu54te/search/details/ntl77npocv
- Test-Driven Development with Python, by Harry Percival, 2nd Edition, 2017, ISBN: 978-1491958704.
- Covers the topics of test-driven development and code quality studied in the course.
- You can read it for free on the book website: https://www.obeythetestinggoat.com/
- Robust Python, by Patrick Viafore, 2021, ISBN: 9781098100667.
- Covers the topics of type hints and code quality.
- Available to borrow in the library: https://research.ebsco.com/linkprocessor/plink?id=eb0c1ecb-f4bb-3cc8-9900-4a9b59ab1db3
Course design
Lectures: First session of the week, 2 hours. The teacher discusses the material of the week. Starting from the second week, students are expected to have read the appropriate reading material from the lecture notes, and be ready to discuss with their colleagues. Exception in the first week where the teacher will give overall instructions.
Guided exercises: Second session of the week, 4 hours. The teacher and/or one TA solves a list of exercises together with the students. Students are expected to follow the session with a computer (their own, or lab computer).
Lab sessions: Third session of the week, 4 hours. The TAs are available to answer questions from the students.
Exception: During the first week, both 4-hours sessions will focus on support students to install the necessary software in their own computer.
None of the sessions is mandatory. However, keep in mind that this is an in-person on-campus course, not an online course. Thus, by not attending the sessions, you accept the task to get the course updates through the recorded videos or through your colleagues. The course administration is not responsible for reproducing every point and update discussed in class over other means, such as Canvas announcements.
Topics for each week
Students are expected to prepare before the lecture of each course week by reading the associated chapters of the lecture notes.
- Course overview and introduction to computer programming (course syllabus, chapters 1 and 2)
- Introduction to computer programming (chapters 3 and 4)
- Code quality and control flow statements (chapters 5 and 6)
- Data structures (chapter 7)
- Standard and external modules (chapter 8)
- Object-oriented programming (chapter 9)
- Exceptions and files (chapters 10 and 11)
- Data visualization (chapter 13)
Changes made since the last occasion
A summary of changes made since the last occasion.
- TBD
Examination form
The examination consists of three components:
- Weekly programming assignments, 15 points, optional
- Programming quiz, 25 points, mandatory, 50% points to pass
- Written exam, 60 points, mandatory, 50% points to pass
The grading scale is computed based on the sum of the points achieved by the student:
- less than 50% of the points in the exam or programming quiz: fail
- < 55: fail
- [55, 75): 3
- [75, 90): 4
- [90, 100]: 5
Programming assignments
Students can use up to two late dates, which allows them to submit an assignment up to one week after the due date. Late dates are meant to cover any health or unplanned events. The last date to submit a late assignment is available is shown as "available until" in canvas. A late dates counter will show you how many late dates you have used.
This element of the evaluation is not re-examined.
The number of points from programming assignments depends on the number of approved assignments:
- 1 AP
- 2 APs
- 4 APs
- 6 APs
- 9 APs
- 12 APs
- 15 APs
Programming quiz
During the last week of the study period, we will apply the programming quiz during the lab session. The quiz is delivered through Inspera. Programming tasks of similar complexity to the programming assignments will be provided, and students must solve them, having access only to the lecture notes, the official documentation, and a platform to run their code.
- Students are asked to arrive at 8 am, but they can enter the quiz until 8:15 am. After 8:15 am, students will not be allowed to start the quiz. Between 8:00 and 8:15 am, the TAs will organize the class. The quiz will open at 8:15 am. Students can leave the quiz at the latest by 9 am.
- Students have until 11:30 am to finish their quiz. This gives students about 3 hours to solve the quiz.
- The quiz will have seven tasks: three worth 3 points and four worth 4 points, for a total of 25 points.
- Each task is evaluated pass/fail, where "pass" means all test cases are passed. The tests will not include code-quality checks. No partial points will be awarded.
- Students will have access to the lecture notes and the docs.python.org website for consultation.
- Solutions can be written directly in the online code execution tool (onu2.s2.chalmers.se).
- The solutions must be copied and pasted into Inspera.
- When the student finishes, TAs can help close the exam.
If a student misses this examination step or fails on the first attempt, the student must sign up for a re-examination. A new instance will be booked around the re-exam week.
Written exam
This follows the traditional examination form in Inspera. See previous exams for the format. Re-examination works as standard practice at Chalmers.
Any situation not covered in the syllabus will be decided by the teacher.
Course summary:
| Date | Details | Due |
|---|---|---|