Virginia Tech - Computer Science Department
Please send questions regarding this course to: Distance Learning Instructors:
This web page may change throughout the semester - please check it regularly
Course Description: This course covers methods and tools for building high quality industrial software on time and at minimal cost. It covers each phase of the software lifecycle--concept formation, requirements, design, coding, testing, and maintenance. The Unix system and C/C++ languages will be used as the software engineering environment for the course.
Texts
[FFN] Frakes, Fox, Nejmeh, Software
Engineering
in the Unix/C Environment, (Online Text)
Table of Contents
Index
Templates for
lifecycle documents
[Gus]Schaum's Outline of Theory and Problems of Software Engineering by David Gustafson McGraw-Hill Trade; 1st edition (June 24, 2002) ISBN: 0071377948
[OL] Programming With GNU Software by Andy Oram, Mike Loukides O'Reilly & Associates; (1996) ISBN: 1565921127
Projects
Description will be given later
Grading 3 Projects @ 15 points each. Final 55 points, Total = 100
The final exam will be closed book and you will need to come to one of the testing sites to take it. The testing sites will be the NVGC, and at Blacksburg and Richmond if needed. If you are more than 100 miles from any of these sites, please send email to Tom Sheehan, director of the MIT program giving him your physical location, course number, and a proposed proctor for your exam. The proctor wil typically be a work supervisor, a previous instrictor, or in the case of the military a base education officer.
All coursework is governed by the Virginia Tech honors code
Announcements:
| Topic | Reading | Viewgraphs | Links | |
| 1. Introduction | FFN1
Gus1 OL 1,2 |
Introduction
Free Software |
Software Engineering Archives | |
| 2. Concept Formation | Concept Formation - viewgraphs in introduction set above | |||
| 3. Requirements | FFN2 Gus8 |
Requirements | ||
| 4. Design | FFN3 Gus2,9,11 |
Design
Design2 |
Object Oriented Programming Concepts | |
| 5. Programming in the small | FFN4
OL4 |
Coding1 | C#, C++, Java comparison | |
| 6. Programming in the large | OL7 FFN6 FFN7
|
Coding2 | Grasp project | |
| 7. Maintenance | FFN9
OL8 |
Maintenance> | Linux Version Control & Configuration Management Tools | |
| 8. Metrics | Gus 5,12
OL9 |
Metrics> | metrics tools | |
| 9. Project Management | Gus3, 4, 6 |
Project Management> | xplan project management tool> | |
| 10. Testing | FFN8
OL6 Gus7, 10, 13 |
Testing> | Junit | |
| 11. Reuse | OL5 | Reuse> | ReNews | |
| 12. SE Experimentation | SE Experimentation> | |||
| 13. Software Economics | Software Economics> | Software Economics: A Roadmap - Boehm and Sullivan | ||
| 14. Future of SE | FFN10 | Software Engineering Future> | ||
| Final Exam May 7 |