Disclaimer: this syllabus is subject to change between now and start of class. I wanted to get something up for you to prepare.
Specification, design, construction and validation of multi-version software systems.
When you complete this course, you should be able to:
Prerequisite: Either
Neil Ernst (Instructor)
I will also see students outside of these times – email me if you would like to schedule an appointment to speak to me. Note that I will not normally respond to email questions other than appointment requests, unless it is an emergency. If you send me questions by email between lectures, I will provide answers or clarifications in the lectures (rather than by responding by email). I reserve the right to post your course-related questions on the discussion forum so that other students can see it.
Section | Day | Time | Place | Instructor |
---|---|---|---|---|
Lecture | MWF | 1100–1200 | DMP 110 | Neil Ernst |
Office hours | M | 1500–1600 | ICICS 339 | Neil Ernst |
TA Office Hours | TBA |
Lecture slides and other material will be posted immediately before lecture on the lectures page.
The discussion forum is hosted at Piazza.com. The forum is required reading as the instructor and TAs will post important information and updates there. Please check it, as this is the official communication channel in the event of cancelled classes or labs, rescheduled deadlines, and so on. In addition, you are encouraged to post your questions about the course material on the course bulletin board. You are also encouraged to respond to questions for which you know the answer. In case you need a face-to-face discussion, you can bring you questions regarding the course material, assignments, project and labs to:
Please join the CS410 group by logging into Piazza with a cs.ubc.ca or ubc.ca email address. Watch the 2 minute introduction video.
See the project page.
Your grade in this course will be based on exams and a project, as shown in the table below.
Component | Value |
---|---|
Final Exam | 30% |
Project | 40% |
Midterm | 30% |
To pass this course, you must obtain a 50% overall mark and, in addition, you must:
Students who fail the project or the final exam will be assigned as the final grade in the course the minimum of 45% (an F) and the grade computed using the above formula. (This distribution may change prior to start of term).
Part of the project mark will be an in-class presentation of approximately 5 minutes, with your group.
Grades will be posted regularly via Connect. Note, this is a new system for this semester and is not the same as WebCT or Vista.
Assignments will be due at a specific time. Failing to hand anything in will result in a mark of 0.
There will be a midterm and a final examination.
Type | Date/Time |
---|---|
Midterm | Oct 10 |
Final exam | Dec 5–19 |
Note that the final is scheduled by the University. Do not make travel plans until the final exam schedule is released.
There will be a large, semester-long group project.
At a minimum you need a good facility with Java as well as Eclipse. If you have the time, you might be well-served to read up on Javascript. You can take introductory courses in a number of places online, e.g., CodeAcademy. I also recommend the book Javascript: The Good Parts.
We will use Git and Github for our project management infrastructure. You will need a Github user account (if you have an objection to using Github please let me know). Good help is available here.
Your projects are group work, but no inter-group communication about projects is permitted unless explicitly noted in the assignment description.
Note that the project is a mandatory component of this course. You must obtain a passing grade in the project in order to pass the course.
When you complete this course, you should be able to:
Each student is responsible for understanding and abiding by the University and Departmental policies on academic conduct. Specifically: