General Purpose Programming Language Knowledge
Object-Oriented Concepts: class, field, property, methods, inheritance etc
Basic Data Structures and Algorithms: queue, stack, tree, graph etc.
High school or college Math and Physics
This is an intermediate programming course for someone with basic programming knowledge and want to learn how to write a non trivial program from scratch. Some college level math and physics knowledge are definitely helpful. The demo projects are python but can be translated to other general-purpose programming languages very easily. (Or the design can be reused in another implementation language) All the demo projects here are small enough for learning but not trivial.
The goal of this course is to improve your overall problem solving skills using software.
The course is designed to focus on how to structure a program which has algorithms, UI and a few backend objects involved using OOP.
There are many other areas of knowledge that are important for a software engineer not covered here such as multi-threading, database etc. Having those may lose the focus of the course and introduce unnecessary issues for students to debug the projects. However, with good understanding of the course, students may find it helps learning other important areas in software development such as modeling large complex system (UML), Design Patterns & Architecture, etc.
To make best use of the course:
students are expected to have some knowledge of the following
– General Purpose Programming Language Knowledge
– Object-Oriented Concepts: class, field, property, methods, inheritance etc.
– Basic Data Structures and Algorithms: queue, stack, tree, graph etc.
– High school or college Math and Physics
Who this course is for:
- Someone with basic programming knowledge and want to learn how to write a non trivial program from scratch
What you’ll learn
Practical use of data structure and object-oriented analysis and programming
Simple game design, play against machine
Apply math and physics in your program