Course syllabus

Course-PM

EEN255 Applied computer programming lp1 HT26 (7.5 hp)

Course is offered by the department of Electrical Engineering

Contact details

Course purpose, learning objectives, and syllabus

The aim of the course is to provide students with no previous experience in programming sufficient skills to use the Python programming language to solve design engineering problems. The learning objectives and syllabus can be found on Studieportalen.

Schedule

The course schedule including room allocations can be found on TimeEdit.

Course literature

The course is based on a set of lecture notes: https://comsys.e2.chalmers.se/een255/. 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). If you try to access the notes from outside of Chalmers, you will get an error message.

The lecture notes can be easily used with tools for students with disabilities. 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 

For students who wish to dive deeper, there are also many books on Python (none of which are mandatory): 

Course design

The course mainly consists of lectures, exercise sessions, and lab sessions:

  • Lectures (Tuesday afternoon): The teacher discusses the course material of the week.
    • Before the lecture, students should prepare by reading the relevant chapters in the lecture notes (see below).
    • You are encouraged to follow along examples with your own computer and ask questions! 
  • Exercise sessions (Thursday morning, start at 8:15): One TA solves a list of exercises together with the students.
    • You are expected to bring your own computer (or team up with others)
    • The TA will provide programming problems for you to practice
    • Note that the exercises are not graded 
  • Lab sessions (Friday morning, start at 8:15): Two TAs will be present to answer your questions. 
    • There is no fixed agenda for the lab sessions. Students are recommended to work on the homework assignments for that week (self-study time). 
    • The lab sessions are the main channel for you to ask questions regarding installation problems, homework submissions, course material, etc. 

Note that none of the above sessions are mandatory. However, students are responsible for keeping up with the course material, assignments, deadlines, and practical information communicated during scheduled course activities. The scheduled sessions are also the primary opportunity to ask questions and receive help. 

Topics for each week

  1. Course overview and introduction to computer programming (Chapters 1 and 2)
  2. Python building blocks and functions (Chapters 3 and 4)
  3. Control flow statements (Chapter 5)
  4. Data structures (Chapter 6)
  5. Modules and code quality (Chapters 7 and 8)
  6. Object-oriented programming (Chapter 9)
  7. Exceptions and files (Chapters 10 and 11)
  8. Data visualization (Chapter 12)

Examination form

There are two mandatory components for the examination: 

  1. Weekly homework assignments (25 points): In total, there will be 8 homework assignments. However, the first assignment is a practice assignment and will not be graded. The remaining 7 assignments are graded pass/fail. An assignment is passed if all problems have been solved, meaning that your provided solution (i) solves the given task and (ii) runs without errors. 
    • To pass the 3.5-credit module in LP1, students must pass at least 2 out of the 3 graded homework assignments offered during LP1. Students who do not pass 2 assignments during LP1 may still complete the module by passing additional assignments during LP2, until they have passed at least 2 assignments in total. Note that passing the 3.5-credit module is mandatory for passing the course. 
    • Each passed assignment also provides points that count towards your final course grade. In particular, assignments 2-4 provide 3 points each, while assignments 5-8 provide 4 points each. The maximum number of homework points is therefore 3*3+4*4=25. 
  2. Final exam (75 points): The final exam will assess your understanding and critical reasoning about the course content. See previous exams (under Modules) for the format. 
    • The exam is conducted digitally through Inspera
    • This is a "closed-book" exam and you will not have access to the lecture notes, the Internet (including AI chatbots), or a Python code execution platform (interpreter). 

The final grade will be decided based on the total score from both the homework assignments and the final exam, according to the following scale:

  • Total score: <55 => Grade: Fail
  • Total score: [55, 70) => Grade: 3
  • Total score: [70, 85) => Grade: 4
  • Total score: [85, 100] => Grade: 5

Course summary:

Course Summary
Date Details Due