CS 3300: Introduction to Software Engineering (Fall 2021)

Course Information

Instructor:
Nimisha Roy
(nroy9@gatech.edu)
GTA:
Tanuj Bohra (tanuj.bohra@gatech.edu)
UTA:
Tuan Huynh (thuynh71@gatech.edu)

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.
  • Additional Resources