1.124J | Fall 2000 | Graduate

Foundations of Software Engineering


The calendar below provides information on the course’s lectures (L), recitation (R) and project presentation (P) sessions.

L1 Administrative & Introduction
Makefile Primer
GNU Makefile Documentation
CVS Documentation
PS 0 Out
R1 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

L2 Overview of C++ and Object Oriented Design PS 0 In
PS 1 Out
L3 Classes and Objects

R2 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

L4 Dynamic Management of Objects PS 1 In
PS 2 Out
L5 Operator Overloading

R3 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

L6 Inheritance PS 2 In
PS 3 Out
L7 Linked Lists, Static Class Members

R4 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

L8 Quiz Review PS 3 In

Quiz I: C++ PS 4 Out
R5 Function Templates; Class Templates; Sorting and Searching Algorithms; Insertion Sort; Selection Sort; Shellsort; Quicksort; Linear Search; Binary Search

L9 Templates, Sorting & Searching Algorithms

R6 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

L10 Programming in Java®
Shape Example
PS 4 In
PS 5 Out
L11 Java® Basics (contd.)

R7 Sun Java Studio Standard 5; Inheritance; Controlling Access to Class Members; Strings; Packages; Interfaces; Nested Classes and Interfaces; Garbage Collection; Applets

L12 Graphical Programs PS 5 In
PS 6 Out
L13 Applets and Applications

R8 Exceptions; Threads; I/O; Introduction to Java GUI and Swing

L14 Custom Graphics

L15 File I/O PS 6 In
PS 7 Out
R9 The JComponent Class; Top-Level Containers; Intermediate Swing Containers; Atomic Components

L16 Quiz Review Project Proposal Due

Quiz II: Sorting, Searching and Java®

L17 Multithreading
Working with Images

L18 Physical Simulations PS 7 In
L19 Source Code Management Using CVS

L20 Java® Remote Method Invokation Framework

L21 Java Beans, Java® 3D

P1 Project Presentation I

P2 Project Presentation II

P3 Project Presentation III

Course Info

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