Welcome!
Welcome to 15-313, Foundations of Software Engineering.
The instructors are Jonathan Aldrich and Bill Scherlis. Ciera Christopher and Larry Maccherone are your 24x7-available TAs. For additional details visit the Staff page.
The course web portal is at http://www.cs.cmu.edu/~wls/313. You can also Google "15-313", but you'll get "-298".
The course meets for two lectures and one recitation each week. The meeting times and locations are as follows
- Lecture: Tuesdays and Thursdays, noon-1:20pm, in Wean 5302.
- Recitations are on Wednesdays. at a time and place to be announced.
Please be certain to check for course announcements by checking the announcements area on the home page or by subscribing to the RSS feed.
Official Course Summary
Students gain exposure to the fundamentals of modern software engineering.
This includes both core CS technical knowledge and the means by which this knowledge can be applied in the practical engineering of complex software.
Topics related to software artifacts include design models, patterns, coding, static and dynamic analysis, testing and inspection, measurement, and software architecture and frameworks.
Topics related to software process include modeling, requirements engineering, process models and evaluation, team development, and supply chain issues including outsourcing and open source.
This course has a strong technical focus, and will include both written and programming assignments.
Students will get experience with modern software engineering tools and, later in the semester, create one of their own.
Textbook
The official text for this course is the "Gang of Four" book on Design Patterns. See the wikipedia for links.
Having said this, we must acknowledge the dark reality, which is that there is no textbook that is fully suitable for this course. We will direct you to readings and web resources for the individual topics. If you find great references for the various topics, please share them with the course staff and we'll post them on our portal.
Communicating with us
There are many ways to communicate with us, some more successful than others:
- Come to lecture and participate in discussions, ask questions, etc. This is best.
- Visit your instructors and TAs. Click on the staff button to find us.
- Post and read (or, rather, read and post) on the discussion board, also linked off the portal page.
- Most of the course staff is reachable by email. So, as a last resort you can try to send one of us email directly.

Home
About 15-313
Syllabus
Infrastructure
Assignments
Lectures
Staff
Policy
FrontDesk