Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This specialization develops strong programming fundamentals for learners who want to solve complex problems by writing computer programs. Through four courses, you will learn to develop algorithms in a systematic way and read and write the C code to implement them. This will prepare you to pursue a career in software development or other computational fields.
Successful completion of this Specialization will be considered by admissions as a demonstration of your skill and enhance your master’s application to Duke’s Pratt School of Engineering.
Syllabus
- Course 1: Programming Fundamentals
- Course 2: Writing, Running, and Fixing Code in C
- Course 3: Pointers, Arrays, and Recursion
- Course 4: Interacting with the System and Managing Memory
Courses
-
Embark on your programming journey! This introductory course teaches you the fundamental principles of programming in C that are applicable to any language you might want to learn. Master a powerful seven-step problem-solving process for developing effective algorithms. Learn to read and understand code, transforming complex challenges into manageable solutions. No prior experience needed. Develop core skills for software development and enhance your career prospects in diverse fields. By the end of this course, you will be able to develop algorithms that are specific and correct.
-
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.
-
The third course in the specialization Introduction to Programming in C introduces the programming constructs pointers, arrays, and recursion. Pointers provide control and flexibility when programming in C by giving you a way to refer to the location of other data. Arrays provide a way to bundle data by guaranteeing sequences of data are grouped together. Finally, recursive functions—functions that call themselves—provide an alternative to iteration that are very useful for implementing certain algorithms.
-
The final course in the specialization Introduction to Programming in C will teach you powerful new programming techniques for interacting with the user and the system and dynamically allocating memory. You will learn more sophisticated uses for pointers, such as strings and multidimensional arrays, as well as how to write programs that read and write files and take input from the user. Learning about dynamic memory allocation will allow your programs to perform complex tasks that will be applied in the final part of the specialization project: a Monte Carlo simulation for calculating poker hand probabilities.
Taught by
Andrew D. Hilton, Anne Bracy, Genevieve M. Lipp and Liz Wendland