CSCI-C 212/A 592: Introduction to Software Systems

Spring 2024

Instructors: Joshua Crotts, Muazzam Siddiqui

Syllabus: PDF in Canvas.

Date & Time:


Catalog Description:

Design of computer software systems and introduction to programming in the environment of a contemporary operating system. Topics include a modern object-oriented programming language; building and maintaining large projects; and understanding the operating system interface.

Prerequisites:

CSCI-C 211 or CSCI-H 211 or CSCI-C 200 or CSCI-H 200 or equivalent.

Required Textbook:

Joshua Crotts, Teaching Java: A Test-Driven Approach

Ancillary Resources:

Grading Scale: Listed in Canvas.


Student Learning Outcomes:

Upon completion of this course, students should be able to:

Course Staff:

Name Position
Joshua Crotts Lecturer (Section 1727)
Muazzam Siddiqui Lecturer (Sections 4979, 30791)
Dharmik Bhanushali Lead Associate Instructor
Chaitrali Rajesh Ghanekar Associate Instructor
Hemeshwar Konduru Associate Instructor
Shyam Makwana Associate Instructor
Akshat Pandey Associate Instructor
Janmejay Purohit Associate Instructor
Sakshi Sitoot Associate Instructor
Ratan Tejaswi Vadapalli Associate Instructor
Mathew Arbuckle Undergraduate Instructor
Andrew Cheng Undergraduate Instructor
Kushagra Gupta Undergraduate Instructor
Gautam Hari Undergraduate Instructor
Owen Harris Undergraduate Instructor
Jack Liang Undergraduate Instructor
Peter Perry Undergraduate Instructor

Office Hours:


Labs:

There are 15 labs. Each lab section has 1 lab per week:

Letter Section Time Place Instructors
A4709Th 9:10AM - 11:05AMIF 1019Andrew Cheng & Hemeshwar Konduru & Ratan Tejaswi Vadapalli
B4159Th 11:30 AM - 1:25 PMBH 118Dharmik Bhanushali & Andrew Cheng & Ratan Tejaswi Vadapalli
C1728Th 1:50 PM - 3:45 PMBH 118Dharmik Bhanushali & Akshat Pandey & Sakshi Sitoot
D1729Th 4:10 PM - 6:05 PMSB 221Chaitrali Ghanekar & Owen Harris
E5596Th 6:30 PM - 8:25 PMI 109Jack Liang & Shyam Makwana
F35638F 8:00 AM - 9:55 AMBH 145Akshat Pandey
G8256F 9:10 AM - 11:05 AMI 109Ratan Tejaswi Vadapalli & Hemeshwar Konduru & Janmejay Purohit
H35639F 11:10 AM - 1:05 PMBH 330Hemeshwar Konduru & Janmejay Purohit
I9756F 11:30 AM - 1:25 PMI 109Mathew Arbuckle & Owen Harris
J14900F 11:30 AM - 1:25 PMBH 142Kushagra Gupta & Shyam Makwana
K9757F 1:50 PM - 3:45 PMI 109Gautam Hari & Peter Perry
L33813F 1:50 PM - 3:45 PMBH 105Chaitrali Ghanekar & Sakshi Sitoot
M33811F 4:10 PM - 6:05 PMBH 215Kushagra Gupta & Ratan Tejaswi Vadapalli
N33816F 6:30 PM - 8:25 PMBH 147Jack Liang

Note: TJ refers to the required textbook for this class.

Week Monday Wednesday Lab Assignment
Jan 8Reading: Chapter 1 of TJ
Intro, Variables, & Datatypes
Static Methods & TestingIntelliJ & Setup
Jan 15(MLK Jr. Day)Strings & ConditionalsBasic ProgramsA1 Out (1/17)
Jan 22Strings & Conditionals cont.Methods (Helpers & Recursion)Methods
Jan 29LoopsLoops cont.LoopsA1 Due (1/31), A2 Out (1/31)
Feb 5ArraysArrayListsArrays, ArrayLists
Feb 12Java Collections APIMore Collections & GenericsCollections & GenericsA2 Due (2/14), A3 Out (2/14),
A1 Corrections Due (2/16)
Feb 19StreamsStreams cont.Streams & Review
Feb 26 Midterm Review
Fall 2023 Midterm
Fall 2023 Midterm Solutions
Midterm(No Lab)A3 Due (2/28), A4 Out (2/28),
A2 Corrections Due (3/1)
Mar 4Objects & ClassesObjects & Classes cont.Basic OOP
Mar 11(Spring Break)(Spring Break)(No Lab)
Mar 18Mutation & AliasingMutation & Aliasing cont.More OOPA3 Corrections Due (03/20)
Mar 25InterfacesInheritanceEven More OOPA4 Due (3/27)
Apr 1Inheritance & Abstract ClassesThe "ASPL" InterpreterEven Even More OOPA5 Out (4/3), Mini-Project Out (4/3)
Apr 8(Solar Eclipse)Exceptions & I/OExceptions & I/OA4 Corrections Due (04/10)
Apr 15More on Exceptions, Searching, Algorithm AnalysisSorting & Algorithm AnalysisSorting & SearchingA5 Due (4/17)
Apr 22Concurrency Final Exam Review
Practice Fall 2023 Final
Practice Fall 2023 Final Solutions
Fall 2023 Final
Fall 2023 Final Solutions
(No Lab) Mini-Project Due (04/24), A5 Corrections Due (04/26)