About this Course
In the new world we live in, coding is a universally valuable skill, whether you’re a scientist, artist, or a humanist. Algorithms are everywhere, and we all have to understand how they work. The C language is particularly well suited as an introduction to coding: It’s a tried-and-true language, and it allows you to understand computing processes at a deep level. You will also get an introduction to more advanced programming in C++ in the final module.
This is a continuation of C for Everyone: Structured Programming and Fundamentals, which you should take before beginning this course. The time estimated time commitment for this course is five hours a week for five weeks.
Offered by University of California, Santa Cruz
UC Santa Cruz is an outstanding public research university with a deep commitment to undergraduate education. It’s a place that connects people and programs in unexpected ways while providing unparalleled opportunities for students to learn through hands-on experience.
Syllabus – What you will learn from this course
Week 1
- Prerequisites for this course
- Enums as an ADT
- Enums code
- The C preprocessor
- Preprocessor code
- Use assert for program correctness
- Assert code
- 1 practice exercise
- Introduction to struc (More advanced ADTs)
- How to access struct members
- Introduction to the ADT stack
- Using a stack to reverse a string
- 1 practice exercise
Week 3
- Intro to the ADT list
- List of one element code
- Full list code
- Details of list processing
- Honors: Introduction to binary trees
- Honors: Detailed binary tree code
- More advanced I/O print
- 1 practice exercise
Week 4
- Introduction to File I/O
- Basic File/I/O code
- Double Spacing a File
- Use of Main (argc, argv)
- Honors – List Code with deletion
- 1 practice exercise
Week 5
- Intro to C++
- A First Example C++ Program
- C++ Features That Are Easy
- C++ Program Using New Features
- C++ ADT as a Class
- 1 practice exercise
- Week 5 Quiz
WEEK 6
-
Final Exam