Presentation is loading. Please wait.

Presentation is loading. Please wait.

EECE 310 Software Engineering Lecture 0: Course Orientation.

Similar presentations


Presentation on theme: "EECE 310 Software Engineering Lecture 0: Course Orientation."— Presentation transcript:

1 EECE 310 Software Engineering Lecture 0: Course Orientation

2 What is this course about?  Building program modules  Programming in the large  Other skills – design, documentation, and testing 2

3 Building Program modules  Abstraction mechanisms 1. Procedures 2. Exceptions 3. Data abstractions 4. Iteration abstraction 5. Polymorphic abstractions 6. Concurrent programming 3

4 Programming in the large  How to design and implement large programs  Requirements analysis and specification  Design  Implementation and testing 4

5 Other skills  Understand how individual activities are integrated into the software engineering life-cycle  Appreciate the value of good design and sound engineering principles in software construction  Apply sound techniques for writing specifications, building test-suites, developing design documents  Learn how software engineering works in the “real world” or at least the way it should 5

6 What is this course NOT about?  Java language or its (or third party) libraries  Eclipse or any other integrated development environment (IDE) or build tool  Distributed systems, software security, databases, HCI, computer games,...  Though you’ll use concepts learned in this class for these 6

7 How is EECE 310 different from earlier software courses (pre-requisite classes) ? APSC 160: Intro. to Computation in Eng. Design Introduction to programming languages CPSC 260: Object-Oriented Program Design Data structures Introduction to OO Emphasis on C/C++ language Abstraction Advanced OO Emphasis on Java Mastery of CPSC 260 topics assumed 7

8 Why should you take this course ? 8  Fundamental class in object-oriented design  You will learn not just how to do it, but why do it that way  Appreciation of design and aesthetics of software  Learn to design robust and maintainable code  Many of the things you’ll learn have immediate applications (e.g., testing, specifications, design patterns)  If nothing else, you’ll develop an appreciation for large- scale software development and its challenges

9 Course grading  Assignments (50%)  Five assignments (10 % each)  Exams (45 %)  Mid-term (15 %)  Final (30 %)  Class participation (5%)  In class activities  Piazza 9

10 Labs and Assignments 10  Labs in MCLD 348 starting this week  The TAs will be there to answer questions  And to grade assignments on the days they are due Assignments: To be done in teams of two  Same partner for all assignments preferred  Same grade for both you and your partner  You must individually be able to explain your solution  Submission mechanics  You must attend labs on the days the assignments are due  TAs will come to each computer and evaluate your solution  Also, submit your code to the Tas for plagiarism checking

11 To succeed in this course … 11  Attend the lectures and participate in activities  We will have active learning components in each class  Ask questions, come to office hours if needed  The concepts may seem easy or even obvious sometimes, but they are hard to apply or get right  Try to solve the recommended exercises in the book  Do the assignments yourself and don’t just hack them  Understand the solutions to the quizzes/mid-term  You should expect to spend a significant amount of time outside class working on the assignments

12 Administrivia …  Instructor: Karthik Pattabiraman (karthikp@ece.ubc.ca)karthikp@ece.ubc.ca  TAs for the course:  Frolin Ocariza Jr.  Anna Thomas  Office hours:  Karthik’s office hours: Tuesdays 1 to 2 PM  Anna and Frolin: During labs on Wed, and Thurs  Website: 12


Download ppt "EECE 310 Software Engineering Lecture 0: Course Orientation."

Similar presentations


Ads by Google