eece 310 software engineering lecture 0: course orientation

12
EECE 310 Software Engineering Lecture 0: Course Orientation

Upload: samuel-oliver

Post on 28-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EECE 310 Software Engineering Lecture 0: Course Orientation

EECE 310Software Engineering

Lecture 0: Course Orientation

Page 2: EECE 310 Software Engineering Lecture 0: Course Orientation

What is this course about?

Building program modules

Programming in the large

Other skills – design, documentation, and

testing2

Page 3: EECE 310 Software Engineering Lecture 0: Course Orientation

Building Program modules Abstraction mechanisms

1.Procedures2.Exceptions3.Data abstractions4.Iteration abstraction5.Polymorphic abstractions6.Concurrent programming

3

Page 4: EECE 310 Software Engineering Lecture 0: Course Orientation

Programming in the large How to design and implement large

programs

Requirements analysis and specification

Design

Implementation and testing

4

Page 5: EECE 310 Software Engineering Lecture 0: Course Orientation

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

Page 6: EECE 310 Software Engineering Lecture 0: Course Orientation

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

Page 7: EECE 310 Software Engineering Lecture 0: Course Orientation

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

AbstractionAdvanced OO

Emphasis on Java

Mastery of CPSC 260 topics assumed7

Page 8: EECE 310 Software Engineering Lecture 0: Course Orientation

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

Page 9: EECE 310 Software Engineering Lecture 0: Course Orientation

Course grading Assignments (50%)

Five assignments (10 % each)

Exams (45 %) Mid-term (15 %) Final (30 %)

Class participation (5%) In class activities Piazza

9

Page 10: EECE 310 Software Engineering Lecture 0: Course Orientation

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

Page 11: EECE 310 Software Engineering Lecture 0: Course Orientation

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

Page 12: EECE 310 Software Engineering Lecture 0: Course Orientation

Administrivia … Instructor: Karthik Pattabiraman (

[email protected])

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