計算機程式設計 (Computer Programming) (Coursera)

計算機程式設計 (Computer Programming) (Coursera)

This course will introduce computer programming in C. We will cover basic operations about computer, then move on to how to write computer program in a language called C. Various C concepts will be introduced.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

We will have video lecture to introduce the concept of programming. The video will switch between the presentation slides and the actual coding process. After that we will have weekly programming homework to ensure that the students are able to practice what they learned from the video presentation. The students will practice on ideone.com, a web platform for compiling and running computer programs.
No special prior computer knowledge is required. However, the students are expected to be able to use a web browser, has basic English vocabulary, and arithmetic skills of junior high school graduates.

Syllabus

WEEK 1 - Introduction
We start with basic programming concepts that correspond to chapter 1, 2, 3 of the book. We will start with a basic program and gradually add computation statements so that our program will perform useful computation. Also we will use an online interface (ideone) to describe the process of editing, compiling and running a program.

WEEK 2 - Control Structure
The second week will describe flow control and loops (book chapter 4, 5). After we learn how to write a program to perform basic computation in the first week, we start to learn the control structure of a program. We will learn how to control the execution of a program among several possible "next steps", and how to repeat the computation to finish repetitive tasks. We will also describe certain loop ending practice, which strongly relates to programming style.

WEEK 3 - Array
The third week describes arrays and floating point numbers (book chapter 6, 7). We will introduce ways to organize related data into the most basic data structure, i.e., array. We will describe the circumstance of using an array, and the most useful idioms in using them. Various examples will be introduced to enforce the concepts in using array correctly. We will also describe the concept of floating point numbers, which is different from the integers we introduce at the beginning of this course.

WEEK 4 - Functions
The fourth will will describe the concept of functions (book chapter 8). We will motivate the use of function by system functions, including mathematic and input/output functions, so we the students can understand the key concept that if we can use existing code, then we do not need to reinvent the wheel. Then we will introduce the way to define our own functions. The key mechanism of function call, parameter passing, and return values wiill be discussed by a series of examples.

WEEK 5 - Pointer
In the fifth week we will describe pointers (book chapter 9). We will focus on the semantic of pointers and then introduce the mechanism of using pointers. Here we would like to tie together the pointer concept with memory layout, i.e., the way the computer system places variables into memory. After the introduction of memory layout the students will have a very clear idea on how a computer system manages the memory, and how this layout affects the way we write program that handles variables of different types in C.

WEEK 6 - String
The sixth week will describe strings and characters (book chapter 10, 11). Up to this point in this course we deal with only numeric data. Now we are ready to introduce character and string that deal with mainly text data. We will introduce the concept of memory bits, and different types in C only means different ways to interpret the memory bits. We start with character, which is the basic unit of text information. Then we introduce string as an array of characters, and various useful functions to perform various operations on strings.

WEEK 7
Final Exam

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Nov 9th 2026
5-12 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Nov 2nd 2026
4 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Nov 9th 2026
3 Weeks
Persistent Memory Technology - Introduction and Deployment (Coursera) Coursera
EDUCBA

Persistent Memory Technology - Introduction and Deployment (Coursera)

Embark on a dynamic learning journey through this course. In the first module, explore the intricacies of Persistent Memory (PMEM), unraveling its fundamental concepts, characteristics, and operating system support. Transition seamlessly into the second module, mastering transactional concepts, optimizing hardware configurations, and discerning between volatile and persistent libraries. In the final module, dive into advanced programming with libpmemobj, overcoming C++ Standard limitations, and applying insights to real-world scenarios like building a phonebook.

Nov 9th 2026
3 Weeks
Problem Solving Using Computational Thinking (Coursera) Coursera
University of Michigan

Problem Solving Using Computational Thinking (Coursera)

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it." Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Nov 9th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
4 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Nov 2nd 2026
4 Weeks
Learn JavaScript (Coursera) Coursera
Scrimba

Learn JavaScript (Coursera)

This is perhaps the most interactive JavaScript course ever recorded. It contains 140+ coding challenges, meaning that you will finally build that ever-so-important JavaScript muscle memory. You will solve the challenges directly in the browser thanks to Scrimba's interactive video technology, so there's not setup needed. Say goodbye to "tutorial hell" and get ready to start feeling your JavaScript superpowers grow exponentially.

Nov 9th 2026
4 Weeks