Structure of Programming

Toggle between C and C++ to instantly translate all code examples, syntax guides, and worksheet solutions across the site.

Table of contents

  1. Structure of Programming
    1. Course Overview
    2. Prerequisites
    3. Textbook
    4. References
    5. Course Topics
    6. Tools

Course Overview

Welcome! This course is designed to take you from the basics of code to a deep understanding of how programs work. As you solve problems week by week, you will build the critical thinking skills necessary for advanced fields like software engineering and system design. In short, this course is where you stop just using software and start understanding how to build it.

Prerequisites

Zero prior experience is expected. Success in this course relies on three things: your curiosity to learn new systems, your consistency in practicing the material, and your perseverance in solving complex problems. Bring your focus, and we will handle the rest.

Textbook

We will use the following textbook. We will also use slides, notes, and other resources as necessary.

C How to Program Book Cover
C: How to Program, by Deitel and Deitel, Prentice Hall, 8th Edition (or later).

References

Problem Solving in C Book Cover
Problem Solving and Program Design in C, Latest Edition, Jeri R. Hanly, and Elliot B. Koffman.
C Programming From Problem Analysis Book Cover
C++ Programming: From Problem Analysis to Program Design, Latest edition, DS Malik.

Course Topics

The first few weeks will focus on the fundamentals of CC++ programming, including memory concepts, arithmetic, functions, selection statements, loops, and arrays. Each of the remaining weeks will explore advanced topics such as sorting, 2D arrays, recursion, and pointers. Here is what you should expect to achieve by the end of the course:

  • Be able to analyze and solve computational problems using core CC++ programming concepts including variables, control structures, and functions.
  • Be able to implement and manipulate data structures such as 1D/2D arrays and strings for data processing.
  • Be able to apply advanced techniques including recursion and pointers to write efficient and modular code.
  • Be able to design and debug complete CC++ programs using modern development tools.

Tools

C Logo
C
We will learn programming in C!
C++ Logo
C++
We will learn programming in C++!
Code::Blocks Logo
Code::Blocks
This is the IDE (Integrated Development Environment) you will use for programming in CC++. While you are allowed to use other IDEs, this is the one we will use in the classroom, base the course material on, and provide support for. [download] [Installation Guide]