CS 3300: Introduction to Software Engineering (Fall 2021)
Course Information
- Lecture time: Mondays and Wednesdays, 9:30am-10:45am
- Location: College of Computing 101
- Ed : https://edstem.org/us/courses/8768/discussion/
Course Overview
This course introduces techniques in software engineering (SE) with an emphasis on SE process, phases, and tools. The course structure includes software engineering introduction, requirements and prototyping, design and unified software process, and testing and test driven development. Finally, we will use available SE tools to combine the SE knowledge tools in two projects. We will have two main projects in this class where you will be developing and delivering real-world software.
Some pre-requisites for this course include:
- Basic knowledge in some of the SE tools like Eclipse
- Basic Java
- Some client side programming (JS, CSS, HTML)
- Teamworking skills (being able to collaborate effectively with your teammates)
- Cloud computing knowledge is a plus
Schedule
Note: The topics in this course may change.
Date | Topic | Deliverable Released | Deliverable Due | Readings |
---|---|---|---|---|
August 23, 2021 | Introduction and Overview | Teams Creation | Teams Creation Out |
GT Honor Code Ed Discussion |
|
August 25, 2021 | Project 1 Description & Overview | |||
August 30, 2021 | Tools of the Trade #1: Java, Eclipse, Junit Testing, Maven | Planning Assignment Out | Teams Creation Due | Demo Notes for TOTT #1 |
September 1, 2021 | Tools of the Trade #2: Version Control, GIT |
GitHub Student Account EGit GIT Demonstration Video |
||
September 6, 2021 | No Class - Labor day | |||
September 8, 2021 | Tools of the Trade #3: HTML, CSS, JS; |
HTML Cheatsheet CSS Cheatsheet JS Cheatsheet Types of databases |
||
September 13, 2021 | Life Cycle Models | Requirements Assignment Out | Planning Assignment Due |
Quiz Slides |
September 15, 2021 | Requirements Engineering |
Quiz Slides |
||
September 20, 2021 | Tools of the Trade #4: JQuery, API, AJAX, REST | Project 1 Progress Report Due |
demo notes for REST API |
|
September 22, 2021 | Tools of the Trade #5: Spring Framework, Spring Boot,REST API | |||
September 27, 2021 | Tools of the Trade #6: Google App Engine, Google Maps API, Geolocation API | Requirements Assignment Due |
GCP Setup Guide Using Eclipse IDE to deploy Java application to app engine Demo Notes for GCP |
|
September 29, 2021 | Software Architecture & Design | Design Assignment Out | ||
October 04, 2021 |
Object Orientation and UML |
|||
October 06, 2021 | Design Patterns Presentation & Scoring guidelines | |||
October 11, 2021 | No Class - Fall Break | |||
October 13, 2021 | Project 1 Preparation in your respective groups | |||
October 18, 2021 | Project 1 Presentation Day | Project 1 Due on 17th October | ||
October 20, 2021 | Guest Lecture #1 by Prof. Mahdi Roozbahani | |||
October 25, 2021 | Software Testing Project 2 Description | Test Assignment Out | Design Assignment Due | |
October 27, 2021 | Software testing: Black-box | TSL Generator GitHub Repository | ||
November 01, 2021 | Software testing: Black-box Software testing: White-box | |||
November 03, 2021 | Software testing: White-box | |||
November 08, 2021 | No Class (Instructor's Thesis Defense) | Test Assignment Due | ||
November 10, 2021 | Guest Lecture #2 by Yuzhi Guo from Google | Lecture Video | ||
November 15, 2021 | Test Driven Development: Agile, XP, Scrum | Project 2 Progress Report Due | ||
November 17, 2021 | Refactoring | |||
November 22, 2021 | No silver bullet | |||
November 24, 2021 | No Class - Student Recess | November 29, 2021 | Project 2 presentation and demo: Day 1 | Project 2 Due |
December 01, 2021 | Project 2 presentation and demo: Day 2 | |||
December 06, 2021 | No Class - Reading Period |
Office Hours and Questions
Office Hours:
- Instructor: Mondays 1:00 - 2:00 PM outside the class(Near CoC 109)
- Tanuj: Thursdays 11:00 - 12:00 AM
- Tuan: Wednesdays 3:00 - 4:00 PM
TA Office Hours location: CoC Common Area
Ed will be the main place for course discussions and announcements. If you have questions, please ask it on Ed first because 1) other students may have the same question; 2) you will get help much faster.
If it’s something you do not like to discuss publicly on Ed, you can use private messaging in Ed.
Grading
Assignments (20%)
- There will be four assignments and each will cover 5% of your total grade.
- All assignments follow the “no-late” policy. Assignments received after the due time will receive zero credit.
- All students are expected to follow the Georgia Tech Academic Honor Code.
Project 1 Progress Report (5%)
- A project progress report should be just one page pdf (less than 500 words single spaced)
- A project proposal should include:
- Introduction/Background
- Software Technologies
- Software output/purpose
- Conclusion
Project 1 (25%)
Project 2 Progress Report (5%)
Project 2 (40%)
-
Class participation (5%)
- Your class participation score will be graded based on attendance and possibly in-class quizzes. There will an attendance sheet for some classes.
- Participation in class discussions (including asking relevant questions in class, volunteering to answer questions on Ed) will be considered when determining your final grade. It will be especially useful when you are right on the edge of two letter grades.
- Github Repo for Class demo scripts
- Markdown Cheatsheet
- Github Beginner's Intro - Thanks Markian!
- Git Commands Cheatsheet
- .gitignore
- Google Datastore helpful links
- Connecting Java Backend with JS frontend