In this course, students will learn how to write object-oriented code using Java. Concepts will focus on object-oriented thinking, software composition, inheritance and polymorphism, and design principles. Programming techniques, assignments and lab exercises will focus on Java, specifically, the language and its core libraries. The course will be conducted lab-style with a mix of lecture, lab assignments and projects. The course will also cover an elementary introduction to the C programming language.
Announcements
- For grading questions, post an Issue to github in your repository and put
@cs2113f18/ta
in the textbox to notify the graders. - Project 3 - Due 12/11
- You must Redo Midterm 1 by 11/19 if you want to recover points
- Project 2 - Phase 2: Due 11/18, see the TA’s notes
- Java-3 - Due Thursday 11/1
- Java File I/O Lab - Due in class Wednesday 10/31
- Project 1 - Due 10/21 and 10/28 - Also see the new CodeAnywhere Instructions
- Check Piazza for office hours and remember to fill out the form.
- Information about October 3rd’s Midterm has been posted
- You should sign up for Piazza here.
- This website is under construction - all content subject to change!
Schedule
Date | What Happens | Materials |
---|---|---|
Mon 8/27 | Week 1 - Lab 1: Essentials | Lab 1 - Due Friday 8/31 |
Wed 8/29 | C-0: Intro | Intro Slides |
Mon 9/3 | Week 2 - NO LAB | C-0 - Due Tuesday 9/4 |
Wed 9/5 | C-1: Memory | |
Mon 9/10 | Week 3 - Lab 2: C I/O | C-1 - Due Tuesday 9/11, Lab 2 - Due Friday 9/14 |
Wed 9/12 | C-2: Funcs/Structs | C-2 - Due Thursday 9/20 |
Mon 9/17 | Week 4 - Lab 3: C Quiz! | |
Wed 9/19 | C-3: Data Structures | C-3 - Due Thursday 9/27 |
Mon 9/24 | Week 5 - Lab: HW Time | |
Wed 9/26 | C-4: C to Java | |
Mon 10/1 | Week 6 - Lab: Exam Review | |
Wed 10/3 | MIDTERM | Redo by 11/18 |
Mon 10/8 | Week 7 - NO LAB | |
Wed 10/10 | Java-1: OOP | Java-1 - Due Thursday 10/18 |
Mon 10/15 | Week 8 - Lab: Exam Review | Read HFJ Chaps 1-3; Project 1 Algorithm - Due 10/21 |
Wed 10/17 | Java-2: OOP Design | |
Mon 10/22 | Week 9 - Lab: Java File I/O | Read HFJ Chaps 4, 5, 7; Project 1 - Due 10/28 |
Wed 10/24 | Java 3: More OOP | Java-3 - Due Thursday 11/1. Pets Quiz Solution |
Mon 10/29 | Week 10 - Lab: Collections and IntelliJ | Read HFJ Chaps 6 and 8, IntelliJ tips |
Wed 10/31 | Java 4: Abstraction and Interfaces | Java-4 - no submission. Pets Quiz Solution |
Mon 11/5 | Week 11 - Lab | Project 2 - Phase 1 due Thursday 11/8 |
Wed 11/7 | Java 5: GUIs | |
Mon 11/12 | Week 12 - Lab | Project 2 - Phase 2 due Sunday 11/18 |
Wed 11/14 | Java 6: Files/Networks | |
Mon 11/19 | Week 13 - Lab | Read HFJ Chaps 12, 13, and 15 |
Wed 11/21 | NO CLASS | |
Mon 11/26 | Week 14 - Lab | |
Wed 11/28 | Java 7: Multi-Threading | |
Mon 12/3 | Week 15 - Lab | |
Wed 12/5 | Java 8: Semester in Review | |
Mon 12/10 | Lab | Project 3 - Due 12/11 |
Final Exam: Wednesday, December 12, 2018 5:20pm-7:20pm in TOMP 405.
- See Java 8 for a list of topics on the exam
- You should expect a C memory diagram problem – look back at the Midterm study guide to review how to solve these problems!
- Practice Problems
- Practice Problem Solutions
- Pratice Programming Problems (covered in class Java 8)
- Pratice Programming Problem Solutions
- You will be provided Java and C reference sheets (you will not be expected to write any C code).
- You will be provided the sample code included with the practice programming problems.
- You are allowed to bring a single 8.5x11 double sided sheet of hand written notes
- Part of your exam will be done using IntelliJ on the lab computers.
- Ensure that you know your github password!
- Do not setup your github account to use SSH key access!
- You are strongly encouraged to test using IntelliJ on a lab computer a day before the final exam to checkout and push a piece of code to GitHub.
- You are encouraged to arrive at the exam early (around 5:00PM) in order to setup your github repository and verify that IntelliJ is operating correctly. You may not begin the exam until 5:20.
- The room is reserved until 9PM. Students who need extra time can stay until then.