Building on the course Programming Fundamentals, this course will teach you how to write code by first planning what your program should do—an important approach for novice and professional programmers. You will learn how to compile and run your program, and then how to test and debug it.
This course builds on the Seven Steps you have already learned and provides a framework for systematically testing for problems and fixing them, so you can find and fix problems efficiently.
Who is this class for: This course is for learners who have an interest in learning how to program, for people with no programming experience or for people with some experience who would like to gain solid fundamentals and a deeper understanding of how to program effectively.
In this module, you will learn to write code and do your first assignment in the Practice Programming Environment. You have practiced the first four steps of the Seven Steps in the previous course, and you will review them here before learning Step 5: Translating Your Algorithm to Code. Expert programmers spend most of their time planning before they begin writing code, and you will learn to do the same!
Graded: Using the Programming Environment
Graded: Assignment 01_apple
Graded: Assignments 02_code1 and 03_code2
Compiling and Running
Now that you know how to plan an algorithm and translate it to code, you need to learn how to compile and run it! You will learn about the compiler, which takes the code you wrote and translates it into instructions a machine can execute, which you can then run. You will also learn about different options you can give the compiler, as well as different ways to run your program that give you debugging information.
Graded: Assignment 04_compile
Graded: Assignment 05_squares
Graded: Assignments 06_rect and 07_retirement
Testing and debugging
Two skills that are crucial to good programming are testing—finding problems with your code, and debugging—fixing them. In this module you will learn systematic ways to identify problems in your code, as well as how to apply the scientific method to fix your program when you do find a bug.
Graded: Assignments 08_testing and 09_testing
Graded: Assignment 10_gdb
In this module you will begin the project you will complete over the course of the rest of the specialization. At the end of each course, you will write a piece of a program that will calculate the odds of different poker hands winning with a Monte Carlo simulation—a way to calculate complicated probabilities by generating random data.
Graded: Assignment c2prj_cards
Graded: Assignment c3prj_testing
ENROLL IN COURSE