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.
Joshua Crotts, Teaching Java: A Test-Driven Approach
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 |
There are 15 labs. Each lab section has 1 lab per week:
Letter | Section | Time | Place | Instructors |
---|---|---|---|---|
A | 4709 | Th 9:10AM - 11:05AM | IF 1019 | Andrew Cheng & Hemeshwar Konduru & Ratan Tejaswi Vadapalli |
B | 4159 | Th 11:30 AM - 1:25 PM | BH 118 | Dharmik Bhanushali & Andrew Cheng & Ratan Tejaswi Vadapalli |
C | 1728 | Th 1:50 PM - 3:45 PM | BH 118 | Dharmik Bhanushali & Akshat Pandey & Sakshi Sitoot |
D | 1729 | Th 4:10 PM - 6:05 PM | SB 221 | Chaitrali Ghanekar & Owen Harris |
E | 5596 | Th 6:30 PM - 8:25 PM | I 109 | Jack Liang & Shyam Makwana |
F | 35638 | F 8:00 AM - 9:55 AM | BH 145 | Akshat Pandey |
G | 8256 | F 9:10 AM - 11:05 AM | I 109 | Ratan Tejaswi Vadapalli & Hemeshwar Konduru & Janmejay Purohit |
H | 35639 | F 11:10 AM - 1:05 PM | BH 330 | Hemeshwar Konduru & Janmejay Purohit |
I | 9756 | F 11:30 AM - 1:25 PM | I 109 | Mathew Arbuckle & Owen Harris |
J | 14900 | F 11:30 AM - 1:25 PM | BH 142 | Kushagra Gupta & Shyam Makwana |
K | 9757 | F 1:50 PM - 3:45 PM | I 109 | Gautam Hari & Peter Perry |
L | 33813 | F 1:50 PM - 3:45 PM | BH 105 | Chaitrali Ghanekar & Sakshi Sitoot |
M | 33811 | F 4:10 PM - 6:05 PM | BH 215 | Kushagra Gupta & Ratan Tejaswi Vadapalli |
N | 33816 | F 6:30 PM - 8:25 PM | BH 147 | Jack Liang |
Note: TJ refers to the required textbook for this class.
Week | Monday | Wednesday | Lab | Assignment |
---|---|---|---|---|
Jan 8 | Reading: Chapter 1 of TJ Intro, Variables, & Datatypes | Static Methods & Testing | IntelliJ & Setup | |
Jan 15 | (MLK Jr. Day) | Strings & Conditionals | Basic Programs | A1 Out (1/17) |
Jan 22 | Strings & Conditionals cont. | Methods (Helpers & Recursion) | Methods | |
Jan 29 | Loops | Loops cont. | Loops | A1 Due (1/31), A2 Out (1/31) |
Feb 5 | Arrays | ArrayLists | Arrays, ArrayLists | |
Feb 12 | Java Collections API | More Collections & Generics | Collections & Generics | A2 Due (2/14), A3 Out (2/14), A1 Corrections Due (2/16) |
Feb 19 | Streams | Streams 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 4 | Objects & Classes | Objects & Classes cont. | Basic OOP | |
Mar 11 | (Spring Break) | (Spring Break) | (No Lab) | |
Mar 18 | Mutation & Aliasing | Mutation & Aliasing cont. | More OOP | A3 Corrections Due (03/20) |
Mar 25 | Interfaces | Inheritance | Even More OOP | A4 Due (3/27) |
Apr 1 | Inheritance & Abstract Classes | The "ASPL" Interpreter | Even Even More OOP | A5 Out (4/3), Mini-Project Out (4/3) |
Apr 8 | (Solar Eclipse) | Exceptions & I/O | Exceptions & I/O | A4 Corrections Due (04/10) |
Apr 15 | More on Exceptions, Searching, Algorithm Analysis | Sorting & Algorithm Analysis | Sorting & Searching | A5 Due (4/17) |
Apr 22 | Concurrency | 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) |