你将学到什么
Computer Display Standard
Computer Programming
C Programming
课程概况
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.
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.
课程大纲
周1
完成时间为 1 小时
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.
7 个视频 (总计 53 分钟), 2 个阅读材料, 1 个测验
周2
完成时间为 1 小时
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.
7 个视频 (总计 59 分钟), 1 个阅读材料, 1 个测验
周3
完成时间为 2 小时
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.
14 个视频 (总计 90 分钟), 1 个阅读材料, 1 个测验
周4
完成时间为 2 小时
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.
11 个视频 (总计 74 分钟), 1 个阅读材料, 1 个测验
周5
完成时间为 1 小时
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.
9 个视频 (总计 62 分钟), 1 个阅读材料, 1 个测验
周6
完成时间为 2 小时
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.
15 个视频 (总计 104 分钟), 1 个阅读材料, 1 个测验
周7
完成时间为 1 小时
Final Exam
预备知识
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.