Welcome to Term I of the Primer CS Degree program.
In the Ist term, we will be focussing mostly on Mathematical Courses. The effort will be to make programmer-friendly courses by using programming ( Python and Haskell ) to solve mathematical problems.
Below are the courses that are slated to be released and their tentative release schedule.
- Python Regular Expressions
Covers the fundamentals of working with Regular Expressions and how to use them in Python effectively.
- Python II-IV
Covers Object-Oriented Programming, Advanced Python Programming Concepts, and Design Patterns.
- Data Structures and Algorithms
An overview of commonly and less commonly used data structures and algorithms as well as how to implement them using Python
- Short Sweet Haskell
A short course designed to give learners a quick intro to Haskell. This course is a necessary prerequisite for learning Discrete Mathematics.
- Functional Data Structures
An overview of Data Structures implemented in a purely functional language such as Haskell. This course is based on the book Purely Functional Data Structures By Chris Okasaki
- Discrete Mathematics
Covers Discrete Mathematical Structures. We will be using Haskell as an aid to learning Discrete Mathematics. This course is based on the book Discrete Mathematics and Functional Programming by Thomas VanDrunen.
- Linear Algebra
Covers concepts such as Vectors, Matrices, Eigenvalues, and Eigenvectors as well as details how they are used in real-world problems. This is course is based on the book Introduction to Linear Algebra, by Gilbert Strang.
- Computational Linear Algebra
In this course, we will take a look at the applications of linear algebra. We will be using Python to implement code to solve interesting real-world problems. This course is based on the Book Coding the Matrix by Philip N. Klein.
A set of courses covering Single Variable Calculus and Multi-Variable Calculus with a focus on applications.
- Probability & Statistics
It covers basic concepts of statistics and the logic of statistical reasoning.
- Bayesian Statistics
Covers drawbacks of frequentist statistics and introduces the field of Bayesian statistics and interference.
- Numerical Methods
Introduces numerical method and numerical analysis. We will be using Python to solve numerical methods problems.
- Convex Optimization
Covers recognizing and solving convex optimization problems. This course is based on the book Convex Optimization by Stephen