Introduction to Programming Using C
This OER is an introduction to programming. It will introduce students to key concepts such as modularity, logic, Input/Output, data types and aggregate types. The language for this OER is C which provides details needed to build a strong understanding of core programming logic. This OER is also the course notes for some of the introduction to programming courses at Seneca Polytechnic.
Structure
Each chapter has a main topic. Aside from that main topic, other programming topics may also be introduced that are important but not necessarily speicifically related to the main topic. (Ex. debugging). Starting in Chapter two the notes are structured as follows:
- An introductory program/problem - this program takes what was learned in the previous chapters and adds the chapter's main concept to a new program. It walks the reader through an example that highlights the main topic for the chapter and where appropriate introduce other concepts that are important when learning to program.
- Concepts and General Syntax - a brief description of the key concepts of the chapter
- Self check - a set of problems for you to check if you have learned the key concepts in the chapter. They are here to supplement your labs and assignments. In general there are four categories of questions in the self check:
- Concepts - short answer questions about terminology and concepts. Learning to talk about tech is also about learning the lingo. You need to know how to communicate technical information.
- Walkthroughs - what is the output of this program type questions. Being able to read what the code is doing is a very important skill. It is even more important now in the world of AI because we need to be able to read what is being generated and verify that it is what we want!
- Programming - write code to do some task. Learning to read and interpret these problems is the key job of a programmer! Lots of practice here will help you be a better programmer.
- Debugging - A word description of a program is provided. A block of code is also provided, but the block of code will have errors. Explain what these errors are and possibly provide a fixed version of the program.
- Solution to the self check - the solution for the questions in the self check so that you can see if you are correct. Note that for concept questions, your wording may not be exactly the same and that is not a problem. You aren't being asked to memorize the words but to know the concept. Similarly your programming solution may not be identical to the provided solution. Even when it is different it may still be correct! Some solutins may be more efficient than others but at this stage, the important part is to simply to practice!
It is IMPORTANT for you to DO the self check...Looking at the answers without doing it isn't going to help you learn the concepts. You cannot just try to memorize your way through a programming course.
Authors and Contributors
- Catherine Leung
- Cameron Gray
Copyright
© Copyright 2025 Seneca Polytechnic
Documentation
Except where otherwise noted, all documentation on this site is © Copyright 2025 Seneca Polytechnic and may be used in accordance with the Creative Commons License, Attribution 2.5. This copyleft license allows you to copy, modify, and redistribute modifications of all or some of the pages as long as you
- include the license with all copies or redistributions
Creative Commons License
This Web Site by Seneca Polytechnic is licensed under a Creative Commons Attribution 2.5 Canada License.
PDF version of these notes:
A pdf version of these notes can be found here:
PDF Generator
The pdf version of these notes were created using pdf-prince plugin and Prince 14 which is available here: http://www.princexml.com/