This is an past offering of this course. This course has changed considerably. Please see the ECE course guide for the new 310.
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 )
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 (2:00 to 3:30 PM)||166 MacMillan|
|Karthik’s Office hours||Tuesdays (4:00 PM to 5:00 PM) and Thursdays (9:00 to 10:00 AM)||KAIS 4048|
|TAs’ Office hours||Mondays (5:00 PM to 6:00 PM)||KAIS 4085|
|Lab hours||Wednesdays (5:00 to 7:00 PM)||MCLD 348|
- 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.
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 PDF form.
Click here for course-related announcements.
Note: The above link will take you to a new blog titled EECE310. We will NOT be using WebCT to post announcements. If you like, you can subscribe to the above blog using your RSS reader (do NOT use the RSS link on top of this webpage). You are responsible for keeping up to date with announcements.
Lectures and Schedule
(These slides are based on Prof. Kosta beznosov’s course offering last term. Also, thanks to Prof. Matei Ripeanu for his notes.)
|Topic covered||Date posted||Lecture notes||Example code|
|Course Orientation||Jan 5th, 2010||PDF PPTX|
|Overview of Course Contents||Jan 7th, 2010|| PDF
|Introduction to Java Objects||Jan 12th and 19th, 2010||PDF PPTX||Example1|
|Procedural Abstractions||Jan 19th, 2010||PDF PPTX||Vectors.java|
|Exceptions||Jan 21st, 2010||PDF PPTX||CustomException.java|
|Testing||Jan 26th, 2010||PDF PPT||Palindrome.java|
|Project||Jan 28th, 2010|
|Data abstraction – 1||Feb 2, 2010||PDF PPT|
|Data abstraction – 2||Feb 4, 2010||PDF PPT|
|Data abstraction – 3||Feb 11, 2010||PDF PPT|
|Introduction to UML||Mar 2, 2010||PDF PPT|
|Iteration Abstraction||Mar 9, 2010||PDF PPT|
|Iteration Abstraction 2||Mar 11, 2010||PDF PPT|
|Type hierarchies 1||Mar 16, 2010||PDF PPT|
|Type hierarchies 2||Mar 18, 2010||PDF PPT|
|Type hierarchies 3||Mar 23, 2010||PDF PPT|
|Elements of design||Mar 30, 2010||PDF PPT|
|Design Patterns – 1||April 1, 2010||PDF PPT|
|Design Patterns – 2||April 6, 2010||PDF PPT|
|Design Patterns – 3||April 8, 2010||PDF PPT|
|Polymorphism||April 13, 2010||PDF PPT|
|Final review||April 15, 2010||PDF PPT|
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.
|Assignment||Date posted||Due Date||Supporting code|
|Assignment 1||Jan 14th, 2010||Jan 27th, 2010||None|
|Assignment 2||Jan 27th, 2010||Feb 10th, 2010||None|
|Assignment 3||Mar 2nd, 2010||Mar 17th, 2010||None|
|Assignment 4||Mar 17th, 2010||Mar 31st, 2010||None|
|Assignment 5||Mar 31st, 2010||April 14, 2010||None|