Navigation auf uzh.ch
Introduction to Software Development: Specification, design, implementation and maintenance of large, multi-module software systems. Principles, techniques, methodologies and tools for computer aided software engineering; software processes, configuration and quality management, human-computer interfaces, hardware-software interfaces and distributed applications.Specification, design, implementation and maintenance of large, multi-module software systems. Principles, techniques, methodologies and tools for computer aided software engineering (CASE); human-computer interfaces, reactive systems, hardware-software interfaces and distributed applications.
Teaching language: English
When you complete this course, you should be able to:
Prerequisites:
Thomas Fritz (Instructor)
Irina Todoran (Course Assistant)
Katja Kevic (TA)
Christoph Bräunlich (TA)
Day | Time | Place | Responsible | |
Lecture | Tuesday | 8:15-10:00 | BIN 2.A.01 | Thomas Fritz |
Lecture | Thursday | 8:15-10:00 | BIN 2.A.01 | Thomas Fritz |
Lab | Tuesday | 10:00-12:00 | BIN 0.B.04 & BIN 2.A.01 | Irina Todoran & Katja Kevic & Christoph Bräunlich |
Labs are an important part of this course. Labs will provide you with the practical knowledge and skills required for the completion of your course assignments. Each lab is designed to give you the opportunity to meet and work as a group, and attendance is mandatory.
Each lab session is supervised by a teaching assistant (TA), who will introduce the necessary tools, provide instructions for the projects, answer questions and meet with each group to discuss the progress of the project.
If, because of illness, military service or force majeure, you cannot attend a given lab, please contact the TA immediately.
There will be no mandatory labs in the first week, but you will have to complete your first assignment in the first week. The first assignment will help to ensure that you have access to the appropriate computing resources for the course. In the first week, TAs will be in the lab rooms to answer questions you have for the first assignment.
The course information on OLAT is required reading, as the instructor, course assistant 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. Students who help other students by answering questions in the forum could receive extra participation credit. The instructor, course assistant 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 bring your questions regarding the course material, assignments, project and labs to:
There is no textbook material for the course - the lectures, labs and assigned readings will contain all information on the exams.
The course material is available on OLAT or directly from the course home site.
The OLAT site also contains the course forum and the student grades for the various course activities. To access the OLAT site you need to use your student shortname and password. The course home site is accessible without any password.
The course calendar is available also on OLAT. Note that this calendar is tentative and may change.
You can find a collection of useful articles on the Google App Engine and related technologies here. More can be found on the Google App Engine website, in particular under the Docs and the Articles link.
Your grade in this course will be based on exams, labs, a project and class participation as shown in the table below.
Final Exam | 45% |
Labs and Project | 30% |
Midterm Exam | 20% |
Participation | 5% |
To pass this course, you must obtain a 50% overall mark and, in addition, you must:
Students who fail the project, the implementation phase of the project, or the final exam, will be assigned as the final grade in the course the minimum of 45% (grade 3.75) and the grade computed using the above formula. The instructor reserves the right to modify the course grading scheme at any time.
The participation mark will be determined based on your class participation, short quizzes (5 to 10 minutes) on the readings and lecture, lab attendance and maybe a bonus for the best projects.
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. Each exam will be closed-book, i.e. students are NOT allowed to bring and use any additional materials to solve the exam questions.
Midterm | October 30, 8:15-10:00, BIN 1.B.01 |
Final Exam | January 15, 10:15-12:00, BIN 0.K.02 |
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.
One large project, broken into several assignments, including two major sprints. These are described in more detail on the Project Website
The submission procedure will be clearly specified in each assignment.
Your projects are group work, but no inter-group communication about projects is permitted unless explicitly noted in the assignment description. Please read the policies section found at the end of this course outline.
Note that the project is a mandatory component of this course. You must obtain a passing average grade in the project in order to pass the course. You must also receive a passing average grade in the implementation phase of the project.
If you are unable to complete an assignment due to illness, military service or force majeure, you have to inform the instructor as soon as possible. The same conditions mentioned above for not attending an exam apply.
The following are the rough categories of user stories we will work with:
The following is a tentative list of the objectives of this course by topic. When you complete this course, you should be able to:
Process
Requirements
Design
Implementation
Testing
Intellectual Property
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