CSCI-C212/A592: Introduction to Software Systems

Spring 2025

This class serves as a second-semester computer science course with the intent of introducing students to the Java programming language and its pragmatics. In particular, we emphasize object-oriented programming, data structures, and algorithms. Topics are covered at an introductory level, with the intent of preparing students for subsequent computer science classes, e.g., data structures, programming languages, operating systems, and beyond. Student work consists of programming problem sets, paired-programming labs, and written exams.

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

Meta

Instructors: Muazzam Siddiqui and Joshua Crotts

Locations:

Syllabi: Available in Canvas.

Textbook: Available in Canvas.

Labs

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

Letter Section Time Place Instructors
A4517/4518Thursday, 9:10AM - 11:05AMLuddy Hall (IF) 1019Ian McGillivary & Sam Miller
B3990/3991Thursday, 11:30AM - 1:25PMBallantine Hall (BH) 308Simon Adams & Shane O'Neill &
Ashley Steitz
C1695Thursday, 4:10PM - 6:05PMBallantine Hall (BH) 118Kushagra Gupta & Kyle Li &
Sparsh Nair
D5339Thursday, 6:30PM - 8:25PMMyles Brand Hall (I) 109Alan Gawrys & Sparsh Nair
E14245Friday, 8:00AM - 9:55AMWylie Hall (WY) 125Joey Myers & Elliot Rubinstein
F7778Friday, 9:10AM - 11:05AMMyles Brand Hall (I) 109Lillie Donato & Emilio Lugo Gutierrez
G14246Friday, 11:10AM - 1:05PMBallantine Hall (BH) 245George Lisec & Heer Soni
H9047/12344Friday, 11:30AM - 1:25PMMyles Brand Hall (I) 109Tim "Gilmore" & Kashi Kumar &
Margo Steinfeld
I1694Friday, 1:50PM - 3:45PMBallantine Hall (BH) 118Peter Perry & Ransom Wheeler
J9048/13729Friday, 1:50PM - 3:45PMMyles Brand Hall (I) 109Owen Harris & George Lisec &
Sujin Woo
K13727/13728Friday, 4:10PM - 6:05PMMyles Brand Hall (I) 109Jack Liang & Josh Rudnik
L13732Friday, 6:30PM - 8:25PMMyles Brand Hall (I) 109Jack Liang

Course Staff

Name Email Position
Joshua Crottsljcrotts@iu.eduLecturer (section 1693)
Muazzam Siddiquimuazsidd@iu.eduLecturer (section 4773)
Simon Adamssimadams@iu.eduUndergraduate Instructor
Lillie Donatomdonato@iu.eduUndergraduate Instructor
Alan Gawrysagawrys@iu.eduUndergraduate Instructor
Tim "Gilmore"timgilm@iu.eduUndergraduate Instructor
Kushagra Guptakusgupta@iu.eduUndergraduate Instructor
Emilio Lugo Gutierrezemlugo@iu.eduUndergraduate Instructor
Owen Harrisharriowe@iu.eduUndergraduate Instructor
Kashi Kumarpaakumar@iu.eduUndergraduate Instructor
Kyle Likyleli@iu.eduUndergraduate Instructor
Jack Liangjacklian@iu.eduUndergraduate Instructor
George Lisecglisec@iu.eduUndergraduate Instructor
Ian McGillivaryianmcgil@iu.eduUndergraduate Instructor
Sam Millersm117@iu.eduUndergraduate Instructor
Joey Myersmyersnj@iu.eduUndergraduate Instructor
Sparsh Nairnairspar@iu.eduUndergraduate Instructor
Shane O'Neillshamonei@iu.eduUndergraduate Instructor
Peter Perrypetperry@iu.eduUndergraduate Instructor
Elliot Rubinsteinejrubins@iu.eduUndergraduate Instructor
Josh Rudnikjrudnik@iu.eduUndergraduate Instructor
Heer Soniheersoni@iu.eduUndergraduate Instructor
Margo Steinfeldsteinfem@iu.eduUndergraduate Instructor
Ashley Steitzasteitz@iu.eduUndergraduate Instructor
Ransom Wheelerrawheel@iu.eduUndergraduate Instructor
Sujin Woowoosuj@iu.eduUndergraduate Instructor

Tutoring Hours & Schedule

Schedule

Date Topic Reading Lab Problem Set
Jan 13Intro, Variables, Datatypes§1.1PSet1 out
Jan 15Static Methods & Testing§1.3-4Lab01
Jan 20(MLK Jr. Day)
Jan 22Strings & Conditionals§1.2 and §2.1Lab02
Jan 27Strings & Conditionals cont.§1.2 and §2.1
Jan 29Methods (Helpers & Recursion)§2.2Lab03
Feb 3Loops§2.3
Feb 5Loops cont.§2.3Lab04PSet1 due,
PSet2 out
Feb 10Arrays§3.1
Feb 12ArrayLists§3.2.1Lab05
Feb 17Java Collections Framework§3.2-3
Feb 19More Collections & Generics§3.5-6Lab06PSet2 due,
PSet3 out,
PSet1C due
Feb 24Streams§3.4
Feb 26Streams cont.§3.4Lab07
Mar 3Midterm Exam Review
Mar 5Midterm
Fall 2023 Midterm; KEY;
Spring 2024 Midterm; KEY;
Spring 2024 Makeup Midterm; KEY;
Practice Fall 2024 Midterm; KEY;
Fall 2024 Midterm; KEY;
PSet3 due,
PSet4 out,
PSet2C due
Mar 10Objects & Classes§4.1
Mar 12Objects & Classes cont.§4.1Lab08
Mar 17(Spring Break)
Mar 19(Spring Break)
Mar 24Mutation & Aliasing§4.2
Mar 26Mutation & Aliasing cont.§4.2Lab09PSet3C due
Mar 31Interfaces§4.3
Apr 2Inheritance§4.4Lab10PSet4 due,
PSet5 out,
Mini-project out
Apr 7Inheritance & Abstract Classes§4.4-5 (up to p. ???)
Apr 9The "ASPL" Interpreter§4.5Lab11
Apr 14Exceptions & I/O§5.1-2
Apr 16Exceptions & I/O cont.§5.1-2Lab12PSet4C due
Apr 21Searching & Algorithm Analysis§6.1 & §7.1
Apr 23Sorting & Algorithm Analysis§6.2 & §7.1Lab13PSet5 due
Apr 28Concurrency§8.4
Apr 30Final Exam Review
Practice Fall 2023 Final Exam; KEY;
Fall 2023 Final Exam; KEY;
Spring 2024 Final Exam; KEY;
Fall 2024 Final Exam; KEY;
Mini-project due (4/30),
PSet5C due (5/2)