1.124J | Fall 2000 | Graduate

Foundations of Software Engineering


1 Course Goals & Content, References & Recitations; Compilation; Debugging; Makefiles; Concurrent Versions System (CVS); Introduction to C++; Data Types; Variable Declarations and Definitions; Operators; Expressions and Statements; Input/Output Operators; Preprocessor Directives; Header Files; Control Structures
2 Functions: Declarations, Definitions, and Invocations; Inline Functions; Function Overloading; Recursion; Scope and Extent of Variables; References; Pointers; Function Call by Value, References and Pointers; Pointers to Functions; 1-D Arrays; Strings as Arrays of Char; Arrays of Pointers; 2-D and Higher Dimensions Arrays; Return by Reference Functions; Dynamic Memory Allocation; The Size of Operator; Data Structures; Introduction to Classes and Objects
3 Classes and Objects; Classes: Member Variables & Member Functions; Classes: Constructors & Destructor; Constructor Header Initialization; Copy Constructors; Member Variables & Functions Protection: Private, Protected & Public; Static Class Data and Class Functions; Class Scope; Pointers to Class Members; Operator Overloading; Friend Functions; Type Conversions
4 Inheritance: Public, Protected and Private Derivation; Multiple Inheritance; Inheritance: Constructors and Destructors; Inheritance: Redefining Member Functions; Virtual Functions and Polymorphism; Abstract Classes; File Streams; Namespaces; Assertions; C++ Standard Library String Class; Other Topics
5 Function Templates; Class Templates; Sorting and Searching Algorithms; Insertion Sort; Selection Sort; Shellsort; Quicksort; Linear Search; Binary Search
6 Introduction to Java®; Compiling and Running a Java® Application and a Java® Applet; Data Types; Variables, Declarations, Initializations, Assignments; Operators, Precedence, Associativity, Type Conversions, and Mixed Expressions; Control Structures; Comments; Arrays; Classes and Objects; Constructors; Initializers; Member Data and Functions; Function Overloading
7 Sun Java® Studio Standard 5; Inheritance; Controlling Access to Class Members; Strings; Packages; Interfaces; Nested Classes and Interfaces; Garbage Collection; Applets
8 Exceptions; Threads; I/O; Introduction to Java® GUI and Swing
9 The JComponent Class; Top-Level Containers; Intermediate Swing Containers; Atomic Components

Course Info

Learning Resource Types
Exams with Solutions
Presentation Assignments
Programming Assignments with Examples
Written Assignments