From the directory of courses: "A general introduction to computer science for science and engineering students interested in majoring in computer science or engineering. Covers fundamental concepts of computer science, algorithmic problem-solving capabilities, and introductory Java programming skills"
The course is exactly as described above and more. While enrolled you will learn how to program in the Java programming language but I hope that is not all you will learn from this course. Computer Science opens your mind to a different way of thinking and I hope you learn to utlitize this new way of thinking and bring it with you going forward.
Going forward it is important to understand that this website, for the most part, has been constructed solely for fun and you SHOULD NOT use this site as a substitute for courseworks, doing so will not end well for you most likely and I assume no responsibility for the choices you make moving forward. That being said, this site will be used to host any resources developed by myself. When I first started doing this job for Professor Cannon all of my resources lived solely on courseworks. After the second iteration of the course, I made a GitHub repository to store all the resources and pointed everyone to that. The problem with that is a lot of people do not totally understand how to navigate a repository, so this site is the abstraction that resulted from that.
The attached notes in the schedule below are based off the Spring 2023 lectures, so there may be some extra content that is not necessary or some information may be missing. It is YOUR job to determine this information for yourself, these notes are NOT a substitute for going to lecture. That being said, students have always found an alternative explanation helpful. It is also important to note all resources hosted are the originals made by me, there may be some files on courseworks that have made some modifications from the originals, I believe in the originals so they shall stay as such.
Date | Lecture | Notes | Due |
---|---|---|---|
Tue Jan 16 | Introduction and Preliminary Definitions | ||
Thur Jan 18 | Algorithmic Problem Solving I | Week 1 Notes | |
Tue Jan 23 | Algorithmic Problem Solving II | ||
Thur Jan 25 | Introduction to Codio and Java Fundamentals I | Week 2 Notes | |
Fri Jan 26 | No Lecture; Homework Due | HW 1 | |
Tue Jan 30 | Java Fundamentals II: Iteration and Conditionals | ||
Thur Feb 1 | Object Oriented Programming I: Writing and Using Classes | Week 3 Notes | |
Fri Feb 2 | No Lecture; Homework Due | HW 2 | |
Tue Feb 6 | Young Alumni Panel | ||
Thur Feb 8 | Object Oriented Programming II: Using Classes, the String Class | Week 4 Notes | |
Fri Feb 9 | No Lecture; Homework Due | HW 3 | |
Tue Feb 13 | Java Fundamentals III: More on the String Class | ||
Thur Feb 15 | Object Oriented Programming III: More on Classes | Week 5 Notes | |
Fri Feb 16 | No Lecture; Homework Due | HW 4 | |
Tue Feb 20 | Why what we learned Matters I | ||
Thur Feb 22 | Midterm 1 | Practice | |
Tue Feb 27 | Class Design: Top Down Design | ||
Thur Feb 29 | Object Oriented Programming IV: Even More Use of Classes | Week 7 Notes | |
Fri Mar 1 | No Lecture; Homework Due | HW 5 | |
Tue Mar 5 | Java Fundamentals IV: Arrays and ArrayLists | ||
Thur Mar 7 | Java Fundamentals V: Using Arrays and ArrayLists | Week 8 Notes | |
Fri Mar 8 | No Lecture; Homework Due | HW 6 | |
Tue Mar 12 - Thur Mar 14 | Spring Break | ||
Tue Mar 19 | Java Fundamentals VI: Using Arrays and ArrayLists | ||
Thur Mar 21 | Putting it all Together | Week 9 Notes | |
Fri Mar 22 | No Lecture; Homework Due | HW 7 | |
Tue Mar 26 | Java Fundamentals VII: File Reading and Exceptions | ||
Thur Mar 28 | Java Fundamentals VIII: File Reading and Exceptions Continued | Week 10 Notes | |
Fri Mar 29 | No Lecture; Homework Due | HW 8 | |
Tue Apr 2 | Object Oriented Programming V: Inheritance | ||
Thur Apr 4 | Object Oriented Programming VI: Polymorphism | Week 11 Notes | |
Fri Apr 5 | No Lecture; Homework Due | HW 9 | |
Tue Apr 9 | Why what we learn Matters II | Week 12 Notes | |
Thur Apr 11 | Midterm II | Practice | |
Tue Apr 16 | Java Fundamentals IX: Recursion | ||
Thur Apr 18 | Java Fundamentals X: Recursion II + Javadoc | Week 13 Notes | |
Fri Apr 19 | No Lecture; Homework Due | HW 10 | |
Tue Apr 23 | Software Development Fundamentals I: Testing: Open Box & Closed Box | ||
Thur Apr 25 | Final Exam Overview | Week 14 Notes | |
Fri Apr 26 | No Lecture; Homework Due | HW 11 | |
CANCELED | Final Exam | Practice |