This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Students will refine their programming skills as well as learn the basics of creating efficient solutions to common computational problems.
This two-part course (part 2 is available here) introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems.
To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games.
After completing this course, you will have a much stronger background in Computer Science and be capable of writing Python programs that are both efficient and well-structured. You will also have a better understanding of how to approach more complex computational problems. As always, our goal is to teach these principles of computing in a fun and exciting way. We look forward to seeing you in class!
Our course syllabus can be seen at www.codeskulptor.org/coursera/principlescomputing.html.
Prior programming experience at the level of "An Introduction to Interactive Programming in Python (Part 2)" (IIPP). Students that have not taken IIPP are welcome, but should be comfortable writing small (100+ line) programs in Python using constructs such as lists, dictionaries and classes. Students should also have a high-school math background that includes algebra and pre-calculus. The first week of class will include material designed to help students accurately self-assess whether they have the necessary background to be successful in this class.
For students whose math background may be in need of supplement, we suggest reviewing material from two sections of the Khan Academy: Algebra 2 (specifically functions and their graphs, polynomial and rational functions, exponential and logarithmic functions) and Pre-calculus (specifically probability and combinatorics as well as series, sequences and induction).
The first part of the course will last five weeks. The lectures from each week will focus on the topics listed in the syllabus while an associated weekly mini-project will serve to reinforce these concepts in practice. Grades for these mini-projects will be determined via machine-grading. The class will also include a weekly homework designed to reinforce the mathematical concepts in the class material.