CS 3300: Introduction to Software Engineering (Fall 2022)

Course Information

Instructor:
Nimisha Roy
(nroy9@gatech.edu)
GTA:
Tanuj Bohra (tanuj.bohra@gatech.edu)
UTA:
Sriya Tanguturi (stanguturi3@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.

GCP Demo Recording
Date Topic Deliverable Released Deliverable Due Readings
August 23, 2022 Introduction and Overview | Teams Creation Teams Creation Out GT Honor Code
Ed Discussion
August 25, 2022 Project 1 Description & Overview
August 30, 2022 Tools of the Trade #1: Java, Eclipse, Junit Testing, Maven Planning Assignment Out Teams Creation Due Java Eclipse JUnit Maven Class Demo Recording
September 1, 2022 Tools of the Trade #2: Version Control, GIT GitHub Student Account
EGit
GIT Demo Notes
Branching & Merging Conflicts
September 6, 2022 Project 1 Work in your respective groups
September 8, 2022 Tools of the Trade #3: HTML, CSS, JS;
HTML CSS JS Class Demo Recording - Part 1
HTML CSS JS Class Demo Recording - Part 2
HTML Cheatsheet
CSS Cheatsheet
JS Cheatsheet
Types of databases
September 13, 2022 Life Cycle Models Requirements Assignment Out Planning Assignment Due Quiz Slides
September 15, 2022 Requirements Engineering Quiz 1 out and due Project 1 Progress Report Due Quiz Slides
September 20, 2022 Class Cancelled Individual Assignment on REST out
September 22, 2022 Tools of the Trade #4: JQuery, API, AJAX, REST 5 ways to make HTTP requests in Node.js
September 27, 2022 Tools of the Trade #5: Spring Framework, Spring Boot,REST API Requirements Assignment Due SpringBoot Demo Recording
September 29, 2022 Tools of the Trade #6: Google App Engine, Google Maps API, Geolocation API Individual Assignment on GCP out GCP Setup Guide
Using Eclipse IDE to deploy Java application to app engine
October 04, 2022 Software Architecture & Design
October 06, 2022 Object Orientation and UML
Design Assignment Out Individual Assignment on REST due
October 11, 2022 Design Patterns
Presentation & Scoring guidelines
Individual Assignment on GCP due
October 13, 2022 Project 1 Presentation Day Project 1 Due
October 18, 2022 No class - Fall Break
October 20, 2022 Guest Lecture #1 by Prof. Mahdi Roozbahani
October 25, 2022 Software Testing
Project 2 Description
Test Assignment Out Design Assignment Due
October 27, 2022 Software testing: Black-box
TSL Class Scripts TSL Generator GitHub Repository- More Examples
November 01, 2022 Software testing: Black-box
Software testing: White-box
November 03, 2022 Software testing: White-box
November 08, 2022 Project 2 Touchpoint in Class
Test Assignment Due
November 10, 2022 Project 2 work in class Project 2 Progress Report Due
November 15, 2022 Test Driven Development: Agile, XP, Scrum
November 17, 2022 Refactoring Quiz 2 out and due
November 22, 2022 No silver bullet
November 24, 2022 No Class - Thanksgiving
November 29, 2022 Project 2 presentation and demo: Day 1 Project 2 Due
December 01, 2022 Project 2 presentation and demo: Day 2
December 06, 2022 No Class - Reading Period

Office Hours and Questions

  • Office Hours:

    • Instructor: Tuesdays 2:00 PM - 3:00 PM in CoC 253
    • Tanuj: Tuesdays 11:00 AM - 12:00 PM
    • Sriya: Thursdays 11:00 AM - 12: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 (30%)

    • There will be four group assignments and each will cover 5% of your total grade.
    • There will be two individual 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 (20%)

  • Project 2 Progress Report (5%)

  • Project 2 (30%)

  • Quizzes (10%)

    • There will be two quizzes based on the lecture theory and each will cover 5% of your total grade.
    • The quizzes will be 10 minutes long and will have a 12 hour window for you to attempt.

Rubric

Attendance

Attendance at each class session is required of all students. Participation in in-class discussions and activities is integral to learning and applying computer science concepts in your project.

  • If you have an institutionally-approved absence (for example, an excuse approved by the Dean’s office) it is not counted against your attendance record. You are required to provide your instructors with documentation (such as a Dean’s letter) of an institutionally-approved absence.
  • Students are given three (3) non-institutionally approved absences, for which you are not required to provide any explanation or supporting documents, although a courtesy email to your instructors is appreciated.
  • Each additional absence after the allotted three (3) non-institutionally approved absences deducts 1% from a student’s final grade.
  • If you are absent, it is your responsibility to check the course agenda and/or to find out from a teammate what you may have missed while absent and to have completed any work due the day you return. If you know you will be absent, please email your instructors as a courtesy. Please speak with your instructors and confirm what needs to be done.
  • Attendance will be taken at the beginning of each class; should you arrive late, it is your responsibility to check in with the instructor so that an absence is not recorded. Arriving at class more than 20 minutes late is counted as an absence. If you know that you will be late to class, please let the instructor know.

Additional Resources