Software Construction 6301
Instructor: Ahmed Tamrawi
Class Meets: Saturdays 2:00-4:50pm in Masri 402
Syllabus: Revision 2
Course Schedule
Saturday, September 1, 2018
- Labor Association Strike (No Class)
Saturday, September 8, 2018
- Lecture: Course Introduction
- Review: Syllabus, Students Guide
- Reading: Chapter 1 (Clean Code)
Saturday, September 15, 2018
- Lecture: Software Development Process
- Assignments: Assignment 1 (due on Saturday, September 29, 2018 at 2:00 PM)
- In-Class Activities: Presentation Topic Proposals, Setting up Development Environment and Boilerplate project: Eclipse, Visual Studio Code, Atom, GitHub, Learning Git, Puzzle1.java, Puzzle2.java
- Reading: Chapters 1, 2, 3, and 4 (Code Complete 2) and Chapters 5, 6, 7 (Software Development - A Practical Approach!)
Saturday, September 22, 2018
- Attending the International Workshop on Dynamic Software Documentation (No Class).
Saturday, September 29, 2018
- Due: Assignment 1 at 2:00 PM
- Lecture: Creating High-Quality Code - Part1
- Assignments: Research Paper Abstract (due on Saturday, October 13, 2018 @ 2:00 PM)
- Reading: Chapters 5 and 6 (Code Complete 2)
Saturday, October 6, 2018
- In-Class Activities: Setting up Development Environment and Boilerplate project: Eclipse, Visual Studio Code, Atom, GitHub, Learning Git, Puzzle1.java, Puzzle2.java
- Assignments: Final Project Proposals (due on Saturday, October 20, 2018 @ 2:00 PM)
Saturday, October 13, 2018
- Due: Research Paper Abstract at 2:00 PM.
- Lecture: Creating High-Quality Code - Part2
- Reading: Chapters 7 and 8 (Code Complete 2)
Saturday, October 20, 2018
- (No Class)
Saturday, October 27, 2018
- Due: Final Project Proposals at 2:00 PM.
- Lecture: Student Presentations: Groups for Chapters 10, 11, and 12
- Reading: Chapters 10, 11, and 12 (Code Complete 2)
Saturday, November 3, 2018
- Lecture: Student Presentations: Groups for Chapters 14, 15, 16 and 17
- Assignments: Assignment 2 (due on Saturday, November 17, 2018 @ 2:00 PM)
- In-Class Activities: Checkstyle, Lombok
- Reading: Chapters 14, 15, 16, and 17 (Code Complete 2)
Saturday, November 10, 2018
- Updates: Final Project - Revision 2
- Lecture: Student Presentations: Groups for Chapters 18, and 19, and Developer Testing and Debugging
- In-Class Activities: Checkstyle, Lombok
- Reading: Chapters 18, 19, and 22 (Code Complete 2)
- Anonymous Feedback
Saturday, November 17, 2018
- Lecture: Developer Testing and Debugging
- In-Class Activities: Junit, JaCoCo, Mockito, Atlas, Valgrind, VisualVM
- Reading: Chapters 22 and 23 (Code Complete 2)
Saturday, November 24, 2018
- Lecture: Code-Tuning Strategies and Techniques
- Reading: Chapters 25 and 26 (Code Complete 2)
Saturday, December 1, 2018
- Due: Research Paper and Assignment 2 at 2:00 PM.
- Lecture: Introduction to Refactoring and Design Patterns Overview
- Reading: Chapters 24 (Code Complete 2) and Refactoring Guru
Saturday, December 8, 2018
- Lecture: Research in Software Engineering
- Reading: Paper 1, Paper 2
- Please provide your Anonymous Feedback
Saturday, December 15, 2018
- (No Class)
Saturday, December 22, 2018
- Due: Assignments, Research Paper, and Final Project Report at 2:00 PM. Late submissions will not be tolerated, it is your final call.
- Lecture: Final Project Presentations
- Exam: Final Exam (due on Thursday, January 3, 2019 @ 5:00 PM), DataProcessor.java