College Algebra is an important course for a wide variety of professions and University programs. It is especially important for computer science students.

We just published a full and comprehensive college Algebra course on the freeCodeCamp.org YouTube channel. This course is designed as a full one-semester college course.

This course is different than other college Algebra courses out there. Sure it is taught by an experienced university professor like the other ones. And sure it covers all the required college Algebra concepts like the other ones. What sets this course apart is that you will learn how to implement all the Algebra concepts using the popular Python programming language.

Ed Pratowski teaches this course. He is an experienced university mathematics professor and an amazing Python developer.

This is the perfect Algebra course for anyone interested in fields related to computer science, data science, or machine learning. It can be helpful to already have some familiarity with Python or another programming language before starting this course. However, previous Python experience is not required.

This course is a combination of presentations in front of a whiteboard and programming Python code on a computer. All the coding is done in Google Colaboratory notebooks. This makes it easy for anyone to follow along on their own computer without installing any software.

As you go through each part of this course in sequence, watching each video and working through each Colab notebook, you will gain a full understanding of Algebra and how to write Python code to solve your Algebra problems.

Throughout this course, you will also build your own Algebra notebook that you will be able to use as your custom super calculator. This course (and the code you write here) will give you the foundation for deeper math, including data science.

The course is broken up into 15 "weeks". Here are the sections covered in this course:

### Week One: Ratios, Proportions, and conversions

- Intro to Algebra and variables
- Setting up Colab and intro to code
- Setting up a proportion
- Solving a proportion
- Solving proportions with code
- Define n1, d1, n2, d2 variables
- Use “if” statements for unknown numerator or denominator

### Week Two: Basic Algebra, solving equations (one variable)

- solving for x
- Four one-step equations
- A Two-step equation
- Setting equations equal to zero
- Import statement
- How Sympy works

### Week Three: Percents, Decimals, and Fractions

- Fraction, decimal, percent
- “Out of” = fraction = divide
- Decimal answer
- Exponents and decimal places
- “Percent” = “out of 100” = first two decimal places
- Decimal to fraction by hand
- Python code to convert decimal to fraction
- Practice problems in Colab notebook

### Week 4: Math function definition, using two variables (x,y)

- Functions
- What does it mean to be a “function”
- Input and output, independent and dependent variables, x and y
- Notation, y=, f(x)=, x-y table, find a few points
- Notation, input and output
- Loop to generate and print (x,y) values
- Graphing
- Intro to Cartesian plane and (x,y) coordinates
- Equation, table, graph connection
- Plotting points
- Import matplot lib
- How to set up and display a blank graph
- How to plot one point
- How to plot several points (that line up)
- Define example
- function
- Loop to generate x and y arrays

### Week 5: Slope and intercept on a graph

- Slope
- What is slope?
- Finding slope on a graph (counting boxes)
- Slope formula (and how it relates to the graph)
- Finding slope from two points
- Finding slope from two points
- Linear equations
- Finding y-intercept on graph
- Linear equation from graph
- Graph line, given the linear equation
- Developing equation from two points

### Week 6: Factoring, finding common factors and factoring square roots

- Common factors
- Finding and dividing out common factors
- Reducing fractions
- Loops and factors
- Using a loop and modulus to find factors
- Dividing out factors
- Factoring square roots

### Week 7: Graphing systems of equations

- Graphing systems
- Plotting two functions on same graph
- See where the lines intersect
- Import matplotlib
- Import numpy
- Linspace and x values
- Plotting two functions

### Week 8: Solving systems of two equations

- Solving systems
- When both functions are “y =”
- Setting each function equal to zero
- Connect with using this in the Python code
- Sympy and numerical solutions when they each equal zero
- Sympy factoring then graphing (without numpy or matplotlib)
- Show how to solve AND graph AND plot solution point with one block of code

### Week 9: Applications of linear systems

- Word problems
- Key words for add, subtract, multiply, and divide
- Compare costs of train tickets, amusement parks, and other things
- Show solving word problems
- Identifying key words
- Setting up equations

### Week 10: Quadratic equations

- Quadratics
- Standard form and a, b, and c coefficients
- General shape of the graph
- Vertex formula
- Roots and quadratic formula
- Defining a, b, c
- Vertex formula, then solve for y
- Quadratic formula, discriminant, solve for two roots
- Graphs, based on abc input

### Week 11: Polynomial Graphs

- Parent graphs
- Linear (y = x)
- Quadratic (x2)
- Cubic (x3)
- Other exponents (x4, x5, x6, x7 and the pattern)
- Floor function
- Square root (and one-half exponent)
- Cube root (rational exponent doesn’t work)
- Absolute value
- Exponential functions (like percent increase)

### Week 12: Cost, Revenue, and Profit equations

- Cost, revenue, profit
- Example situation with cost, revenue, demand, and profit
- Show how the equations relate
- Show how the graphs relate
- Define equations and combinations (like P = R - C)
- Write code to answer application questions
- What do the roots and vertex mean, applied to profit and revenue

### Week 13: Simple and compound interest formulas

- Simple and compound interest
- Simple interest and when it it used
- Simple interest plus principle = compound interest
- Percent increase formula: P(1+r) with algebraic explanation
- Compound interest formula: P(1+r)t with explanation
- Compounded monthly formula: P(1 + r/n)^nt
- Interest and annuity
- Comparing simple and compound interest with a loop
- Mortgage payment formula
- Amortization table in a loop
- Retirement investments in a loop

### Exponents and logarithms

- What logs are
- Common logs
- Natural logs
- Inverses and canceling
- Scientific notation
- Notation and code
- Log equations and canceling
- Scientific notation
- Graphing

### Week 15: Spreadsheets and Additional Resources

- Calculator In Google Chrome browser
- Spreadsheet and formulas
- Using Wolfram Alpha (and Google Chrome extension)
- Desmos and Geogebra
- Applications and practice

Watch the full course on the freeCodeCamp.org YouTube channel (15 hour watch).