Course Introduction

What we will cover

We will study C++, arguably the most important programming language in use!

  • We will focus on the syntax of this language
  • We will learn about object oriented programming
  • We will build programs of moderate complexity

This course focuses on learning C++ in some detail. It is intended for those students who intend to pursue a program involving writing many computer programs. Ideally, you already know the basics, so we will start off by examining the differences between C++ and the language you learned earlier. That might be something like Python, but other languages are possible.

Prerequisites

You should already know something about programming

  • COSC1336 - Python
  • COSC1315 - C++
    • this is not ideal, but possible with permission

Some students will take this course after taking COSC1315. In the past, this was fine, but COSC1315 now is structured to serve those students who are not going to become programming professionals, so the focus is more on problem solving, and less on actual programming. If you are one of these, the start of the course might be a bit tough, but you should be fine with a bit more study. See me for help if you get stuck!

How the class will run

I have decided to write more code in class, and lecture less

  • Modern students do not seem to read much
  • If I write a lot, students lose focus
    • No surfing in this class!
  • I will write a lot of code
  • You might get to write code on the board
    • We may use “Vision” for this
  • We will try a new learning procedure

Patterns of Programming

  • We will look at a simple pattern of programming
    • We will explain what the pattern does
    • We will see how to write it
  • We will look at examples

Then, you get to think about where to use it

Baby steps

We will use a technique called “Baby Steps” to write code

  • Start off with something that works
  • Make a small change to the code
    • Using our defined patterns
  • Make sure the changed code works
  • Repeat as necessary

Tools of the trade

  • We will not use an IDE
  • We will use basic tools (editors and language processors
  • We will use some you have not seen before:
    • Make
    • Git, and GitHub
    • Programmer’s editor

Code will be found on GitHub

  • All code shown in class will be available on my GitHub account
    • There might be some variations
  • You can explore the steps in the code development
    • These will appear as branches in the code

The class GitHub is at https://github.com/rblack42/cosc1337.code