George Candea heads the Dependable Systems Lab. His research focuses primarily on tools, techniques, and runtimes that improve the dependability of software systems while also increasing programmer productivity. He seeks pragmatic solutions targeted primarily at large-scale software with millions of lines of code running in highly concurrent systems with hundreds of threads.
The objectives of this first lecture are to motivate the study of software engineering/development, understand the need for systematic development processes, get a high-level view of the path from problem -> requirements -> design -> code, understand the role of development managers, and finally get an overview of both the SwEng and SDP course.
Date | Topic | Materials |
21-Sep-2010 | Real-world software engineering | [slides] [video] |
28-Sep-2010 | Designing good object-oriented software (part 1) | [slides] [video] |
5-Oct-2010 | Designing good object-oriented software (part 2) | [slides] [video] |
12-Oct-2010 | Software development processes | [slides] [video] |
19-Oct-2010 | Organizing your program’s control flow (part 1) | [slides] [video] |
26-Oct-2010 | Organizing your program’s control flow (part 2) | [slides] [video] |
2-Nov-2010 | Effective naming of variables, methods, etc. | [slides] [video] |
9-Nov-2010 | Tips & tricks for using data types | [slides] [video] |
16-Nov-2010 | Effective testing and debugging | [slides] [video] |