This course is the third course in the specialization exploring both computational thinking and beginning C programming. Rather than trying to define computational thinking, we’ll just say it’s a problem-solving process that includes lots of different components. Most people have a better understanding of what beginning C programming means!
This course assumes you have the prerequisite knowledge from the previous two courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course. The required prerequisite knowledge is listed below.
Prerequisite computational thinking knowledge: Algorithms and procedures and data collection, analysis, and representation
Prerequisite C knowledge: Data types, variables, constants; STEM computations; selection; and iteration (looping)
Throughout this course the computational thinking topics you'll explore are abstraction, which is deciding which details matter for the problem you're trying to solve, and problem decomposition, which is about breaking large problems into smaller sub-problems to handle complexity. For the programming topics, you'll continue building on your C knowledge by practicing using arrays, which let you store multiple values in a single variable, and strings, which are arrays of characters. You'll also learn how to implement functions, which are the mechanism we use for problem decomposition in our C programs.
Module 1: Learn about arrays as a way to store multiple values in a single variable
Module 2: Discover how we store and process strings (arrays of characters)
Module 3: Explore abstraction and problem decomposition
Module 4: Use functions to implement problem decomposition in your code

Enseigné par

Dr. Tim "Dr. T" Chamillard

Associate Professor

Transcription

Hi. I'm Tim "Dr. T" Chamillard, and I'll be your instructor for this course. I'm an Associate Professor in the Computer Science Department at the University of Colorado at Colorado Springs, where I predominantly teach undergraduate game design and development courses, but I also teach our freshmen computational thinking course. I'm also our Program Director for the Bachelor of Innovation in Game Design and Development. This is a four-week course, and you will have one graded quiz worth 25 percent of your grade in Week 3. You'll have three programming assignments. Each of which is worth 25 percent of your grade, and those will be in Weeks 1, 2, and 4. There are also ungraded exercises that give you practice doing programming with the C programming topics we cover in this course and we've covered in previous courses. And there are also practice quizzes for you to engage with the computational thinking topics in a more formal way. There is prerequisite knowledge that I assume that you have because this is the third course in the specialization. On the computational thinking side, I assume you're comfortable with the algorithms and procedures, and that you understand the issues associated with data collection, analysis, and representation. On the C programming side, you should be comfortable with data types, variables, and constants, with doing STEM computations, with selection, and with iteration. In this course, we'll cover arrays; we'll cover strings, which are actually arrays of characters; we'll cover abstraction and problem decomposition, how we decide which details matter in a particular problem solution and how we break that problem solution into smaller parts; and then we'll cover functions, a way that we can break a larger problem into smaller parts in the C programming language. This course, of course, builds on the previous two courses, so we're continuing to grow our computational thinking and C programming knowledge. As always, if you get stuck, you should go to the forums for this particular course or you should do some web searches to help you solve whatever problem you're facing.