CS 373 — Software Engineering Summer 2026

Instructional Mode: Face-to-face • Instructor: Fares Fraij • Contact: via Canvas messages
Canvas is the source of truth.
All policies, assignments, and course materials are posted in Canvas.

Section

Unique #84645
Class: Mon/Wed/Fri 11:00 AM – 1:00 PM • GDC 4.302
Course dates: Friday, June 5 – Monday, July 27, 2026
No class: Friday, June 19, 2026

Resources

Start Here
Setup instructions for UTCS access, Python, Git, coverage, and required tools.
Git Guidance
Git configuration, cloning, pushing, branching, merging, and common repository workflows.
Unix/Linux Commands
Searchable command reference for working in the Linux shell on UTCS machines.
Python Setup
Install Python 3.12.x, preferably Python 3.12.3, on Windows or Mac OSX.
UTCS Access
Connect to UTCS machines from Windows or Mac OSX.

Schedule

Tentative Course Schedule for CS 373, Summer 2026 (subject to change)
Week Monday Tuesday Wednesday Thursday Friday
Week 1
June 1–5, 2026
Mon, Jun 1
 
Tue, Jun 2
 
Wed, Jun 3
 
Thu, Jun 4
 
Fri, Jun 5
First class
---
Syllabus
---
Introduction
---
Hello.py
---
Assertions.py
---
notes_1.txt
---
Project #1
---
phase_I.txt
Week 2
June 8–12, 2026
Mon, Jun 8
UnitTests1.py
UnitTests2.py
UnitTests3.py
---
Coverage1.py
Coverage2.py
Coverage3.py
---
notes_2.txt
---
Project #1
Tue, Jun 9
Assignment #1
Wed, Jun 10
Project #1
---
Phase_II.txt
---
Phase_III.txt
Thu, Jun 11
 
Fri, Jun 12
IsPrime2.py
IsPrime2T.py
notes_prime.pdf
---
Object_Model.pdf
---
Types.py
---
Exceptions.py
---
Operators.py
---
notes_3.txt
---
Assignment #2
Week 3
June 15–19, 2026
Paper #1:
Continuous Integration
---
XP: Ch. 4-6
Mon, Jun 15
Factorial.py
FactorialT.py
---
Reduce.py
ReduceT.py
---
notes_4.txt
Tue, Jun 16
Assignment #3  
Wed, Jun 17
Project #2
----
What is HTML, CSS and JavaScript?
HTML
CSS
forms
Thu, Jun 18
Project #1
Fri, Jun 19
No class
Juneteenth holiday
Week 4
June 22–26, 2026
Paper #2:
Pair Programming
---
XP: Ch. 7-10
Mon, Jun 22
Client_Server_Protocol
GCP_deployment
GCP_NameCheap
---
Tutorial: React, GCP and Bootstrap
Tue, Jun 23
Assignment #4  
Wed, Jun 24
Tutorial: Designing an API using Postman
---
Flask
Flask_code
Thu, Jun 25
Project #2
Fri, Jun 26
Iteration.py
---
Comprehensions.py
---
Yield.py
---
notes_5.txt
Week 5
June 29–July 3, 2026
Paper #3:
Agile Development
--
XP: Ch. 11-13
Mon, Jun 29
Map.py
MapT.py
---
Postgresql
---
SQLAlchemy_setup
code
---
notes_6.txt
Tue, Jun 30
Assignment #5  
Wed, Jul 1
Project #3
---
Tutorial: React / Flask Interaction
---
Introduction to DB
ER Diagrams
Mapping to Schema
Handout
DB Normalization

Thu, Jul 2
 
Fri, Jul 3
Tutorial: Implement
an API and use
Postman to test and
document it.
---
setup_postgres_GCP
---
Unit_tests
---
SQLAlchemy Relationship Demos
code
Week 6
July 6–10, 2026
Paper #4:
Team Collaboration (Git & GitHub)
---
XP: Ch. 14-16
---
DD: Overview of Data Modeling (pp. 1-15)
Mon, Jul 6
Tutorial: Sorting, searching, filtering
---
RangeIterator.py
RangeIteratorT.py
---
Range.py
RangeT.py
---
Iterables.py
---
notes_7.txt
---
Assignment #6
Tue, Jul 7
 
Wed, Jul 8
Project #4
---
FunctionKeywords.py
FunctionDefaults.py
FunctionUnpacking.py
FunctionTuple.py
FunctionDict.py
---
notes_8.txt
Thu, Jul 9
Project #3
 
Fri, Jul 10
example_python_Docker
---
closures
---
Decorators.py
DecoratorsT.py
---
notes_9.txt
Week 7
July 13–17, 2026
Paper #5:
SWE Interviews
---
XP: Ch. 17-19
---
DD: UML Design
(pp. 15-23)
Mon, Jul 13
Lambdas.py
---
Functions.py
---
RegExps.py
---
notes_10.txt
Tue, Jul 14
Assignment #7
Wed, Jul 15
Select.py
SelectT.py
---
Project.py
ProjectT.py
---
CrossJoin.py
CrossJoinT.py
---
ThetaJoin.py
ThetaJoinT.py
---
NaturalJoin.py
NaturalJoinT.py
---
notes_11.txt
Thu, Jul 16
Project #4
Fri, Jul 17
JSON
Person.json
Person.schema.json
---
MovieClasswork.json
MovieClasswork.schema.json
---
Bookstore.json
Bookstore.schema.json
---
ShowDatabases.[sql | html]
ShowGrants.[sql | html]
Create.[sql | html]
--
Select.[sql | html]
---
Join.[sql | html]
Joins.[sql | html]
---
Insert.[sql | html]
---
Delete.[sql | html]
Update.[sql | html]
Week 8
July 20–24, 2026
Paper #6:
Software Engineering Résumé Guide
---
DD: The Relational Model
and Relational Algebra
(pp. 25-38)
Mon, Jul 20
Presentations
Tue, Jul 21
Assignment #8 
Wed, Jul 22
Presentations
Thu, Jul 23
Technical Report
Fri, Jul 24
Presentations
Week 9
July 27, 2026
Mon, Jul 27
Presentations
---
Last class
Tue, Jul 28
 
Wed, Jul 29
 
Thu, Jul 30
 
Fri, Jul 31
 

Notes:

  1. Our Summer 2026 class runs from Friday, June 5, through Monday, July 27.
  2. There is no class on Friday, June 19, 2026.
  3. Canvas remains the authoritative source for assignment deadlines, project milestones, and readings.