|Lectures:||Tuesday and Thursday, 8:00am – 9:15am|
|Instructor:||Francisco Servant [email@example.com]|
|Instructor Office hours:||By email appointment.|
|Teaching Assistants:||Mohammed Elarnaoty [firstname.lastname@example.org], Ibrahim Asadullah Tahmid [email@example.com]|
|Teaching Assistant Office hours:||Use the Zoom section in Canvas to join. Hours: Mondays 8:30am-10:30am (Mohammed), Thursdays 3:30-5:30pm (Ibrahim)|
|Force-add Process:||Please, see instructions at Force Add Procedures|
Software engineering is concerned with developing and maintaining software systems that behave reliably and efficiently, and satisfy all requirements that customers have defined for them. In this course, we will first introduce software process and then go over every phase in the process: requirements analysis, software design, implementation, testing, and maintenance. Finally, we will briefly introduce some advanced concepts in software engineering. We will learn-by-doing to strengthen our understanding of materials covered in lectures. Class attendance and participation are highly encouraged to improve critical thinking and communication skills of students. Students will do a group project (5 people per group) following all the stages of the software development lifecycle. Students will: document software requirements, design software, implement code, and test the functionality of a software project.
CS 3114 (Minimum grade of C).
The textbook for the course concentrates on the tasks of specification, requirements and object-oriented design. The supplemental texts listed here are NOT REQUIRED for the course, but contain a broader set of materials about software engineering. Hard or electronic copies of these books are available at VT library. Class lectures and the books will provide the material to use as you build your projects. Some of the material will be in your textbook; some will not. Additional materials will be available online.
- Craig Larman, Applying UML and Patterns: An Introduction to Object-oriented Analysis and Design, Edition 3, Prentice Hall, 2005. (LAR)
- Roger S. Pressman, Software Engineering: A Practitioner’s Approach, McGraw Hill, 2005. SUPPLEMENTAL (PRE)
- Ian Sommerville, Software Engineering, Addison Wesley, 2007. SUPPLEMENTAL. (SOM)
- Rod Stephens, Beginning Database Design Solutions, Wrox, 2008. (STE)
- Eric Freeman, Elisabeth Robson, Kathy Sierra, and Bert Bates, Head First Design Patterns. SUPPLEMENTAL.
Grading and Evaluation
Distribution of points:
Assignments must be submitted as follows:
- through Canvas. Use the folder for the corresponding assignment.
- by 11:59pm Eastern time on the due date
Late submission policy:
Unexcused late assignments will be penalized 1% per 1-hour period.
|≥ 93% → A||≥ 83% → B||≥ 73% → C||≥ 63% → D|
|≥ 90% → A-||≥ 80% → B-||≥ 70% → C-||≥ 60% → D-|
|≥ 87% → B+||≥ 77% → C+||≥ 67% → D+||≥ 0% → F|
Lectures will be delivered online synchronously via Zoom. Please, use the Zoom tab in Canvas to join the lectures.
- Video: Feel free to keep it on or off, to your preference.
- Audio: Please, stay muted during lecture, unless you want to ask a question.
- Questions: Please, use Zoom’s chat feature.
Lectures will be recorded and posted in Canvas.
Lecture slides will also be posted in Canvas in the Files section.
If you have a question during a lecture, please use Zoom’s chat feature.
For questions outside lecture time, please open a Canvas Discussion and contact the GTAs or me to bring our attention to it. You can also attend the GTAs office hours or get an appointment for office hours from me.
Assignments will be posted in Canvas in the Files section.
You will work for the assignments in groups of 5 people. Assignment 1 has instructions on how to build your group.
You will use digital tools, like Zoom, to work as a group. You are welcome to use any communication channels, like Skype for video calls, the chat functionality in Google Drive, etc. Find the structure that works best for you.
Group Work Evaluations
For assignments 3 and later, you will also submit a group-work evaluation document, reporting about the work dynamics in your group for that assignment. This document is filled-in and submitted by each member of the group separately. Everybody in the group should submit it.
The template for the group work evaluation will be posted in Canvas in the Files section.
At the end of the semester, we will do project presentations. One person in the team will be the “slides master”, in charge of sharing their screen and advance slides when necessary. Video of you is not required, but all of you are required to speak.
We will have open-book, take-home exams. The midterm will cover slide decks 01-08, and the final will cover slide decks 09-20.
You will have 24 hours to complete each exam. Each exam is designed to take a maximum of 2 hours to complete, but I advise you to start working on it earlier than 2 hours before the deadline.
Schedule (subject to change)
|1||08-25||Introduction to Software Engineering|
|08-27||Introduction to Software Engineering||* Standish Group Report 1995
* Fred Brooks, “No Silver Bullet”
* They write the right stuff
|2||09-01||Requirements||LAR Ch 2, 5, 6, 9||Assignment 1 - Work groups. Due by 11:59pm in Canvas|
|09-03||Requirements||LAR Ch 2, 5, 6, 9|
|3||09-08||Requirements||LAR Ch 2, 5, 6, 9||Assignment 2 - Projects, Teams, and Contract. Due by 11:59pm in Canvas|
|09-10||Requirements||LAR Ch 2, 5, 6, 9|
|4||09-15||Requirements||LAR Ch 2, 5, 6, 9|
|09-17||Software Process||PRE Ch 3, 4. SOM Ch4|
|5||09-22||Software Process||PRE Ch 3, 4. SOM Ch4||Assignment 3 - Requirements. Due by 11:59pm in Canvas|
|09-24||Software Process||PRE Ch 3, 4. SOM Ch4|
|6||09-29||High-level Design||PRE Ch 10, 12. SOM Ch 11|
|10-01||High-level Design||PRE Ch 10, 12. SOM Ch 11|
|7||10-06||High-level Design||PRE Ch 10, 12. SOM Ch 11|
|10-08||Midterm review session|
|8||10-12||11:59pm Midterm released|
|10-13||No lecture. Work on your midterm and submit it by 11:59pm||Midterm exam due by 11:59pm in Canvas|
|10-15||Detailed Design||LAR Ch 14, 15, 16, 17, 19. STE Ch 1, 9. PRE Ch 15|
|9||10-20||Detailed Design||LAR Ch 14, 15, 16, 17, 19. STE Ch 1, 9. PRE Ch 15||Assignment 4 - High-level Design. Due by 11:59pm in Canvas|
|10-22||Detailed Design||LAR Ch 14, 15, 16, 17, 19. STE Ch 1, 9. PRE Ch 15|
|10||10-27||Detailed Design||LAR Ch 14, 15, 16, 17, 19. STE Ch 1, 9. PRE Ch 15|
|10-29||Testing||PRE Ch 22,23,24|
|11||11-03||Testing||PRE Ch 22,23,24||Assignment 5 - Detailed Design. Due by 11:59pm in Canvas|
|11-05||Testing||PRE Ch 22,23,24|
|12||11-10||Project Management||PRE Ch 6|
|11-12||Project Management||PRE Ch 6|
|13||11-17||Refactoring||Refactoring: Improving the Design of Existing Code|
|11-19||Continuous Integration|| Assignment 6 - Implementation and Testing. Due by 11:59pm in Canvas.
Assignment 7 - Presentation Slides. Due by 11:59pm in Canvas
|14||11-24||No class - Thanksgiving|
|11-26||No class - Thanksgiving|
|15||12-01||Project Presentations|| Presentation Groups:
1. Code from Home (Movie Theater Manager): 5 minutes presentation
2. Team Green (Music Party Scheduler): 5 minutes presentation
3. Aztec (Library Manager): 5 minutes presentation
4. Code-Vid 19 (Library Manager): 5 minutes presentation
5. Java Survivors (Sustainability Social Networks): 5 minutes presentation
6. Programmers Next Door (Location-aware reminder): 5 minutes presentation
7. Software Squad (Music Party Scheduler): 5 minutes presentation
8. Softwarriors (Library Manager): 5 minutes presentation
9. Yasuo (Music Composer): 5 minutes presentation
|12-03||Project Presentations|| Presentation Groups:
1. Team Red (Crowdsourced code review): 5 minutes presentation
2. Team Orange (Commute Rideshare App): 5 minutes presentation
3. Quaranteam (Personal Expense Manager): 5 minutes presentation
4. Team 7 (Smart Home System): 5 minutes presentation
5. Steminists (uredoo): 5 minutes presentation
6. Team Blue (Commute Rideshare App): 5 minutes presentation
7. D.A.H.M (Personal Expense Manager): 5 minutes presentation
8. Stempede (Movie Theater Manager): 5 minutes presentation
|16||12-08||Final Exam Review Session|
|12-10||Reading Day. No class.|
|Exam||12-11||12:05pm Final Exam released|
|Exam||12-12||12:05pm Final Exam submission deadline||Final exam|
Virginia Tech Honor Code:
The work you turn in must be your own. Consequences of cheating in this class: a letter in your academic file, and the course grade is lowered, most likely to F. Material that is copied from books or Web pages needs to be quoted and the source must be given. If you plagiarize, you run the severe risk of failing the class, in a most disgraceful manner.
If you need special accommodations, please contact the instructor during the first week of classes.