This is an past offering of this course. This course has changed considerably. Please see the ECE course guide for the new 310.
Staff | Logistics | Topics | Announcements | Lectures | Assignments and Project |
Course Staff
Instructor: Karthik Pattabiraman (karthikp AT ece DOT ubc DOT ca )
TAs : Pooya Jafferian (pooya AT ece DOT ubc DOT ca)
Fahimeh Raja (fahimehr AT ece DOT ubc DOT ca )
Course Logistics
This is a third-year course on software engineering for electrical, computer and software engineering majors. The pre-requisite for this class is CPSC 260 (Object Oriented Programming Design) or equivalent. Students are expected to have strong backgrounds in object oriented and procedural programming. Prior experience with Java is helpful but not required. However, students will be expected to learn enough Java on their own for completing the assignments and the term project.
What ? | When ? | Where ? |
---|---|---|
Lectures | Tuesdays and Thursdays (12:30 to 2:00 PM) | 1204 Civil Engineering |
Karthik’s Office hours | Tuesdays (2:00 PM to 3:00 PM) and Thursdays (9:00 to 10:00 AM) | KAIS 4048 |
TAs’ Office hours | TBD | KAIS 4085 |
Lab hours | TBD | MCLD 348 |
INSTRUCTIONS FOR EMAILING TAs and INSTRUCTOR:
- All course-related emails must have the words “EECE 310” in the subject, otherwise we will not respond. Please send us email only from your UBC addresses.
- Questions about course logistics, lectures, exams and the term project must be addressed to Karthik (see email address above)
- All questions regarding Java programming and/or the assignments must be addressed to the TAs. Their email addresses are shown above.
Topics covered
We will cover the following topics in this course:
- Modular Development: Procedures, exceptions, data abstractions, iteration and polymorphism
- Programming in the large: Requirements analysis, writing specifications, design patterns, testing and debugging
- Other activities: Design documentation and evaluation, quality assurance, etc.
The course syllabus is available in here.
Course announcements
Click here for course-related announcements.
Lectures and Schedule
Topic covered | Date posted | Lecture notes | Textbook Chapters |
---|---|---|---|
Course orientation | Sep 10 | Part 1 – PPT Part 2 – PPT |
N.A |
Java Overview | Sep 14 and 16 | PPT | Chapter 2 |
Specifications | Sep 21 and 23 | PPT | Chapters 1, 3 and 9 |
Writing robust code | Sep 28 and 30, Oct 5 and 7 | PPT | Chapters 4 and 10 |
Data Abstractions | Oct 12 and 14, 19, 21 and 26 | PPT Polynomial example (buggy !) | Chapter 5 |
UML | Oct 28 | PPT | – |
Iteration abstraction | Nov 9th and 16th | PPT | Chapter 6 |
Type hierarchies | Nov 18th, 23rd, 25th and 30th | PPT | Chapter 7 |
Polymorphism | Dec 2nd | PPT | Chapter 8 |
Assignments and Project
Please see the general rules for turning in assignments here. It is your responsibility to comply with them. You can find the criteria for evaluation here.
Please see this presentation for information about course projects
Assignment | Date posted | Due Date | Supporting code |
---|---|---|---|
Assignment 1 | Sep 21 | Oct 6th or 7th* | – |
Assignment 2 | Oct 4 | Oct 20th or 21st* | – |
Assignment 3 | Oct 18 | Nov 10th | – |
Assignment 4 | Nov 8th | Nov 24th or 25th* | – |
Assignment 5 | Nov 22nd | Dec 1st or 2nd* | – |
* The assignment is due on the date on which your lab session falls
Back to top