Download presentation
Presentation is loading. Please wait.
1
Introduction to CS/SWE 332
Paul Ammann Fall 2018
2
Outline of Presentation
Syllabus Software Engineering ACS degree Software Engineering Minor Rationale for ACS, Minor Topics in Course What’s new in 2018: Edition 3 of Bloch
3
Topics in SWE/CS 332 (ABET Course Outcomes)
Demonstrate ability to specify and analyze stand-alone procedures and OO classes. Demonstrate ability to specify and analyze OO inheritance decisions Demonstrate ability to convert mutable data types to immutable and vice versa Demonstrate ability to correctly create and destroy OO objects Demonstrate understanding and competence in generic programming
4
Demonstrate ability to specify and analyze stand-alone procedures and OO classes
Core material for understanding OO Contracts (specify in comments or JavaDoc) Abstraction Functions – toString() Representation Invariants Method Verification How Do I know my method is “correct”? Contracts and Testing Test Driven Development with JUnit
5
Demonstrate ability to specify and analyze OO inheritance decisions
Core notion – Substitution Principle Interaction of Substitution Principle and Common Contracts Example: equals() contract Symmetry, transitivity, substitution: Pick any two! Mechanisms for extending classes Multiple inheritance Abstract classes Interfaces How, why, and when to disable inheritance
6
Demonstrate ability to convert mutable data types to immutable and vice versa
Fundamental design decision Students typically biased towards mutable designs Goals: Understand how to convert from one to the other Understand design tradeoffs Class will practice in multiple languages
7
Demonstrate ability to correctly create and destroy OO objects
Object Creation/Destruction is Complex! Constructors Destructors clone() Serialization General notions such as Constructor “chaining” Undefined state Interaction with inheritance
8
Demonstrate understanding and competence in generic programming
Generics provide powerful facilities in Java Mechanism is very different from other languages Goal Understand use and power Also cover Bloch’s General Programming Items Key knowledge for industrial programming
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.