CPSC 310 Software Engineering: A practical introduction (2012 Winter Term 2)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 (CASE); human-computer interfaces, reactive systems, hardware-software interfaces and distributed applications.
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.
There will be a TA office hour from 2 pm - 3 pm Fridays in the Demco Learning Centre with Kevin.
| Section | Day | Time | Place | Instructor |
|---|---|---|---|---|
| Lecture | TR | 1400–1530 | DMP 110 | Neil Ernst |
| L2E | M | 15–17 | ICCS 011 | Albert |
| L2C | W | 10–12 | ICCS 015 | Felix |
| L2A | R | 16–18 | ICCS 011 | Kevin |
| L2F | F | 12–14 | ICCS 011 | Felix |
| TA hr | F | 14–15 | Demco | Kevin |
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 will be no labs in the first week. There is a first assignment, due by the start of your second lab (the week of January 16th), which will help to ensure that you have access to the appropriate computing resources for the course.
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.
You will need to obtain a clicker from the Bookstore, or a friend. Here is the bookstore link. Be sure to register your clicker with WebCT/Vista.
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 | 30% |
| Project | 35% |
| Midterm #1 | 15% |
| Midterm #2 | 15% |
| 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. (This distribution may change prior to start of 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 WebCT/Vista.
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. Failing to hand anything in will result in a mark of 0.
There will be two midterms and a final examination.
| Midterm #1 | Feb 2 |
| Midterm #2 | Mar 8 (tent.) |
| Final exam | Apr 11 - 21 |
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, using an ‘agile-like’ approach. Deliverables will be broken into several milestones, including two major sprints. Assignments will generally 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 should be able to:
Each student is responsible for understanding and abiding by the University and Departmental policies on academic conduct. Specifically: