Eece 310 software engineering
1 / 12

EECE 310 Software Engineering - PowerPoint PPT Presentation

  • Uploaded on

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 testing. Building Program modules. Abstraction mechanisms Procedures Exceptions Data abstractions

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'EECE 310 Software Engineering' - cissy

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Eece 310 software engineering

EECE 310Software Engineering

Lecture 0: Course Orientation

What is this course about
What is this course about?

  • Building program modules

  • Programming in the large

  • Other skills – design, documentation, and testing

Building program modules
Building Program modules

  • Abstraction mechanisms

    • Procedures

    • Exceptions

    • Data abstractions

    • Iteration abstraction

    • Polymorphic abstractions

    • Concurrent programming

Programming in the large
Programming in the large

  • How to design and implement large programs

  • Requirements analysis and specification

  • Design

  • Implementation and testing

Other skills
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 

What is this course not about
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

How is eece 310 different from earlier software courses pre requisite classes
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


Advanced OO

Emphasis on Java

Mastery of CPSC 260 topics assumed

Why should you take this course
Why should you take this course ? (pre-requisite classes) ?

  • 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

Course grading
Course grading (pre-requisite classes) ?

  • Assignments (50%)

    • Five assignments (10 % each)

  • Exams (45 %)

    • Mid-term (15 %)

    • Final (30 %)

  • Class participation (5%)

    • In class activities

    • Piazza

Labs and assignments
Labs and Assignments (pre-requisite classes) ?

  • 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

To succeed in this course
To succeed in this course … (pre-requisite classes) ?

  • 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

Administrivia … (pre-requisite classes) ?

  • Instructor: Karthik Pattabiraman (

  • 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: