First lecture on Wednesday 24th, 2021, at 10:15 on Zoom (link available on OLAT).
The world runs on software and this course (and the Software Engineering Lab - SoPra) is all about taking the skills and knowledge you learned in software construction and extending your abilities to design and build non-trivial software systems.
This course will cover a topics relevant to developing large, multi-module software systems, including their specification, design, implementation and maintenance as well as topics such as REST, agile development, and refactoring.
Learning Objectives: When you have completed this course, you should be able to:
- Demonstrate knowledge and explain challenges of the steps involved in building a large, complex software system
- Understand benefits and disadvantages of various designs for constructing software systems
- Communicate technical matters with programmers, managers, and clients effectively; and convey the rationale behind your choices.
Prior Knowledge: students should have proficiency in the topics of software construction, and be familiar with object-oriented programming.
|Instructor||Thomas Fritz, Prof. Dr. (usually room: BIN 2.B.21, but currently home office, so all on Zoom)
Office hours are by appointment. Email Thomas Fritz or contact me after class.
|Teaching Assistants||Lina Witzel, Sophy Chhong|
|Target Group||BSc students in their 4th semester|
|Time & Location||Wednesdays, 10:15am to 11:45am, online on Zoom (link on OLAT)|
|First Lecture||24.02.2021, 10:15am to 11:45am|
Course Structure (Classes, Readings/Videos)
For this course, we will put more emphasis on activities during the classes, so that students get to practice and discuss the relevant concepts and material. Therefore, we will provide videos and/or readings beforehand on OLAT (if there are any). Each student will have to:
- Watch videos / read readings in the week before each lecture (see OLAT).
- Fill in survey at beginning of class (this is still to be determined)
Evaluation / Grading
Your grade in this course will be based on:
- [30%] a midterm,
- [65%] a final exam, and
- [5%] a participation grade that will be based on quizzes and possible assignments.
Participation marks are given for filling out the online survey (and possibly an assignment). The exact timing is still to be determined but will require watching the videos / go through the readings for that week.
If you feel that your assignment, project, or exam was graded incorrectly or unfairly, PLEASE discuss the grade with your TA, course assistant or instructor, during regular office hours. You have 7 days after a grade is returned to dispute the marking (whether or not you were present to receive the returned assignment or exam).
If you find a marking error, it will be corrected immediately. I will not remark individual questions if you disagree with the marking scheme. However, I will re-mark your entire exam if you feel that the grading scheme used was unfair and would like to have your exam re-evaluated.
There will be one midterm and a final examination. These exams will be online (unless something changes).
|Midterm||April 14, 10am to 12am|
|Final Exam||June 23, 10 am to 12am|
If you are unable to attend the midterm or the final exam due to illness or force majeure, you must let the instructor know in time and present to the instructor a note from your physician, detailing the period during which you were ill, in order not to be penalized (i.e., receive a grade of 0), or present a document from some other appropriate authority, respectively. In case you are unable to attend due to military service, you have to tell the instructor at the beginning of this course in September and if acceptable, also present a copy of the “Einberufungsbefehl” to Yvonne Engeler. In all cases, the instructor will then decide on the course of action to follow.
Course Resources - OLAT
The course information on OLAT is required reading, as the instructor, and TAs may post important information there. You should check it about once a day. In addition, you are encouraged to post your questions about the course material in the forum. You are also encouraged to respond to questions for which you know the answer. The instructor and the TAs will regularly monitor the forum and try to answer your questions as promptly as possible. In case you need a face-to-face discussion, you can make an appointment with the instructor or your TA.
Unless otherwise stated, all work in this course is to be done on an individual basis. Students should know where to draw the line between getting legitimate outside assistance with course material and outright cheating. Students who obtain too much assistance without learning the material ultimately cheat themselves the most. Submitting the work of another person as your own (i.e., plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those permitted for assignments and exams. Such actions will not be tolerated. Students should be particularly careful when hiring a tutor. It is not permitted to submit code for an assignment or lab that was written in whole or in part by a tutor. All offences will be reported to the Department of Informatics, University of Zurich.
For more information on the treatment of plagiarism at UZH, please refer to The Information Sheet on the Treatment of Plagiarism