Short Summary
Class Information
Description
Course Objective
This course is an introduction to the problem-solving and programming methodologies that are fundamental to the study of computer science, while learning about the popular programming language Java. Students gain considerable experience with fundamental language constructs and types, such as expressions, decisions, iteration, functions, structures, and strings.
This course (and those to follow in the sequence) is modeled after a college-level class taught by this instructor but is accessible to students who have never programmed before. This is an excellent course for a student exploring the possibility of becoming a programmer or software engineer, or possibly pursuing a college degree in a Computer Science field.
As this is a self-paced class, a video and slide deck will be released each week. Students can watch the video and use the accompanying slide deck as their own pace. At the end of each lesson is a programming project for students to work on. These projects are designed to give students practicing using the techniques covered in that lesson.
Students are encouraged to reach out to the instructor with any questions they have about the lesson material or the project. The instructor will typically respond within 24 hours. Students are also encouraged to submit their project code, which the instructor will make comments on and suggest improvements, if needed. The project will be discussed at the beginning of each next lesson video.
This course will cover the following topics:
- Arrays. Arrays give us the ability to store a lot more data in one location. We can create lists of grades, lists of names, etc. AND with for loops, we can cycle through each element with ease!
- Multi-Dimensional Arrays. Now that we have mastered working with Arrays, let's create something that can store more complex data like what you might see in a spreadsheet or a grid.
- Multi-Dimensional Arrays, Part 2. The same way we would use loops to cycle through (or 'process') single dimension arrays, we can do the same thing with multi-dimensional arrays.
- Object Oriented Programming - Creating Classes. Many programming languages focus on the idea of Object Oriented Programming (OOP), where the focus is creating 'objects' that can solve problems, or be used in solving problems. We start looking at how Java handles creating these objects.
- OOP - Constructors, Destructors, Inheritance, Polymorphism. More about Object Oriented Programming. Specifically setting objects to have constructors and destructors (for setup and cleanup) and how to start giving objects functionality - the ability to do things.
- OOP and more! Finishing up the discussion of OOP, we jump back and relate the power of objects to other ways to store data... while planning for the next big project.
- Final Project. Let's put ALL our new-found knowledge of Java programming and smash it all into one... big... project!