MATH 154 - Computer Programming II
Course Description
This course includes the fundamentals of object-oriented programming (objects,
classes, abstraction, encapsulation, inheritance, and polymorphism), particularly using
the Java programming language. The course starts with introductory concepts and
progresses to touch on advanced topics, as well as the application of acquired skills in
object-oriented programming into the real world.
Course Learning Outcomes
After completion of the course, the student should be able to:
- Understand and apply object-oriented programming (OOP) principles and concepts.
- Develop and write programs using Java, while utilizing tools of an IDE (integrated development
environment), to solve real-world problems.
- Develop and write efficient, readable, well-structured, and properly documented code.
- Test and debug your own code in order to catch bugs and errors (exception-handling).
Course Outline
UNIT 1. Intro
- What, Who, When, Where, How, Why?
- Getting Started
- IDE (Integrated Development Environment)
- What real-life problem I want to solve
UNIT 2. Noob: Java Basics
- Java Building Blocks
- Operators and Statements
- Core Java API
- String and Stringbuilder
- Reading and Writing to files
- Java Arrays
- Math Functions
- Matrix Manipulations
- Dates and Times
UNIT 3. Four Pillars of OOP
- Methods and Encapsulation
- Inheritance
- Abstraction
- Polymorphism
UNIT 4. Advanced Topics
- Exceptions
- Annotations
- Java GUI and Graphing
UNIT 5. Pro: Java In Real-World
- Design Patterns
- Best Practices
UNIT 6. The End
- In Summary
- Where To Go From Here?