We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

計算機程式設計 (Computer Programming)

劉邦鋒

課程介紹 (About the course)

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.

Read more

課程介紹 (About the course)

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.

授課形式 (Course format)

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.

修課背景要求 (Recommended background)

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.

Enroll now

What's inside

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.
Read more
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.
Final Exam

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers fundamental computer programming concepts in C, including variables, data types, operators, and control flow
Utilizes video lectures and hands-on coding assignments to provide a practical learning experience
Suitable for beginners with no prior programming knowledge
Covers essential programming topics, such as data structures, functions, and pointers, building a strong foundation for further programming endeavors
Provides a comprehensive overview of C programming, making it suitable for those seeking to develop programming skills in this language

Save this course

Save 計算機程式設計 (Computer Programming) to your list so you can find it easily later:
Save

Reviews summary

C programming immersion

This course introduces C programming concepts in an easy-to-understand, beginner-friendly way. Students appreciate the course's logical structure, clear explanations, engaging instruction, and challenging but manageable assignments. Overall, this course is highly recommended for those new to C programming.
Well-organized lessons
"教學條理清晰"
Suitable for beginners
"易懂、難易度適合初學者"
Manageable but thought-provoking
"教學很詳盡 作業不會太難"
Easy-to-understand teaching
"老師講解的觀念很清楚"
Enjoyable and interesting
"老師很有趣"

Activities

Coming soon We're preparing activities for 計算機程式設計 (Computer Programming). These are activities you can do either before, during, or after a course.

Career center

Learners who complete 計算機程式設計 (Computer Programming) will develop knowledge and skills that may be useful to these careers:
Computer Programmer
This course is an excellent introduction to computer programming and would be a great asset to anyone looking to become a Computer Programmer. The course covers the basics of computer programming, including variables, data types, operators, and control flow. It also introduces more advanced concepts such as functions, arrays, and pointers. This course would give you a strong foundation in the C programming language and prepare you for a career as a Computer Programmer.
Software Developer
This course would be a great starting point for someone interested in becoming a Software Developer. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be essential for a Software Developer, who is responsible for designing, developing, and maintaining software applications.
Web Developer
This course would be helpful for someone interested in becoming a Web Developer. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Web Developer, who is responsible for designing, developing, and maintaining websites.
Data Analyst
This course may be useful for someone interested in becoming a Data Analyst. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Data Analyst, who is responsible for collecting, cleaning, and analyzing data.
Database Administrator
This course may be useful for someone interested in becoming a Database Administrator. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Database Administrator, who is responsible for managing and maintaining databases.
Systems Analyst
This course would be helpful for someone interested in becoming a Systems Analyst. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Systems Analyst, who is responsible for designing and implementing computer systems.
Network Administrator
This course may be useful for someone interested in becoming a Network Administrator. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Network Administrator, who is responsible for managing and maintaining computer networks.
Computer Support Specialist
This course may be useful for someone interested in becoming a Computer Support Specialist. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Computer Support Specialist, who is responsible for providing technical support to computer users.
Information Security Analyst
This course may be useful for someone interested in becoming an Information Security Analyst. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for an Information Security Analyst, who is responsible for protecting computer systems from unauthorized access.
Computer Hardware Engineer
This course may be useful for someone interested in becoming a Computer Hardware Engineer. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Computer Hardware Engineer, who is responsible for designing and developing computer hardware.
Computer Science Teacher
This course would be helpful for someone interested in becoming a Computer Science Teacher. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Computer Science Teacher, who is responsible for teaching computer science to students.
Technical Writer
This course may be useful for someone interested in becoming a Technical Writer. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Technical Writer, who is responsible for writing technical documentation for computer software and hardware.
IT Project Manager
This course may be useful for someone interested in becoming an IT Project Manager. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for an IT Project Manager, who is responsible for planning, organizing, and managing IT projects.
Accountant
This course is not relevant to a career as an Accountant.
Business Analyst
This course may be useful for someone interested in becoming a Business Analyst. It covers the basics of computer programming, including variables, data types, operators, and control flow. The course also introduces more advanced concepts such as functions, arrays, and pointers. This knowledge would be helpful for a Business Analyst, who is responsible for analyzing business needs and developing solutions to meet those needs.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 計算機程式設計 (Computer Programming).
The classic reference work on C programming language. Provides detailed explanations of the features of the C language.
A comprehensive introduction to C programming. Provides examples and exercises to help readers learn the language.
A comprehensive and well-written guide to C programming. Provides a strong foundation in the language.
A concise and authoritative reference guide to C programming. Provides a quick and easy way to find information about the language.
A beginner-friendly guide to C programming. Provides a step-by-step approach to learning the language.
A comprehensive guide to C programming. Provides a strong foundation in the language, as well as coverage of advanced topics.
A beginner-friendly guide to C programming. Provides a clear and concise explanation of the language.
A tutorial on C programming. Provides a clear and concise explanation of the language.
A comprehensive reference guide to C programming. Provides a quick and easy way to find information about the language.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to 計算機程式設計 (Computer Programming).
Fundamentals of Network Communication
Most relevant
Building a Calculator using C# in Visual Studio
Most relevant
102: Introduction to Computer Science
C Programming: Getting Started
C Programming: Modular Programming and Memory Management ...
101: Introduction to Computer Science
C Programming: Modular Programming and Memory Management
The Unreal Arsenal: Learn C++ and Unreal Engine
C Programming: Getting Started - 1
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser