CPSC 310: Introduction to Software Engineering (2012 Summer)Introduction to Software Engineering: 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.
When you complete this course, you will be able to:
Prerequisite
Meghan Allen (Instructor)
I will also see students outside of scheduled office hours – email me if you would like to schedule an appointment to speak to me. If you send me emails regarding course content, I will post your question on the discussion forum so that other students can see it and my answer.
| Section | Day | Time | Place | Instructor |
|---|---|---|---|---|
| Lecture | Tuesday and Thursday | 13:00–14:30 | DMP 301 | Meghan |
| Lab - L0A | Tuesday | 15:30–17:30 | ICCS 011 | Rahul |
| Lab - L0B | Thursday | 15:30–17:30 | ICCS 011 | Nima |
| Lab - L0C | Thursday | 9:30–11:30 | ICCS 011 | Joel |
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.
There is no required textbook for the course. Lectures, labs and assigned readings will contain all information on the exams. Each week you will be given an assigned reading from an available online resource.
Lecture slides and other material will be posted after 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. Participation in the forum is part of your mark. 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 CS310 group by logging into Piazza with a cs.ubc.ca or ubc.ca email address.
Watch the 2 minute introduction video to learn how Piazza is designed to get you answers fast: video link
See the project page
Your grade in this course will be based on exams, labs, a project and class participation as shown in the table below.
| Component | Value |
|---|---|
| Final Exam | 40% |
| Project | 35% |
| Midterm | 20% |
| Participation | 5% |
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. (I reserve the right to change the grading formula during the term).
The participation mark is easy to achieve. You will get full marks for good lab attendance; good group participation, as determined by your peers; engaged forum participation; and engaged class participation.
Grades will be posted regularly via Blackboard.
Assignments will be due at a specific time, typically in your lab. If you are not prepared for the lab it makes it very difficult to complete the remainder of the project. Although you will have to complete your assignment so that you can continue working on the project, assignments that are not completed by the due date and time will be worth 0.
There will be a midterm and a final examination.
| Midterm | June 19th, during lecture |
| Final exam | August 2nd, during lecture |
Note that I will not re-schedule the final exam if you will be travelling over August 2nd. Do not register for this course if you have travel plans that preclude you from taking the final exam on August 2nd.
There will be a large, semester-long group project, using an ‘agile-like’ approach. Deliverables will be broken into several milestones, including two major sprints. Assignments will be geared toward the completion of the project.
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.
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.
The following is a tentative list of the objectives of this course by topic. When you complete this course, you will be able to:
Each student is responsible for understanding and abiding by the University and Departmental policies on academic conduct. Specifically: