Introduction to Programming and Algorithms

Certificate Course (non-credit)
Course Overview and Syllabus

Course Instructors:

Jennifer Houchins, Shodor Education Foundation, Inc.
Aaron Weeden, Shodor Education Foundation, Inc.

Course Description:

This 5-week course is intended to be an introduction to programming and algorithms for students with an interest or degree option in Computational Science. The course will demonstrate application of programming and algorithms to various areas of science and engineering. The primary language used in this course will be the C programming language.

Outline:

  1. Fundamentals of Problem Solving
  2. Understanding and Writing Pseudocode
  3. Using Subprograms in Code Design
  4. Writing Code in a Programming Language
  5. Approaches to Data I/O
  6. Fundamental Programming Algorithms
  7. Various Approaches to Program Design

Course Prerequisites:

Introduction to Modeling and Simulation
Introduction to Computational Methods

Course Expectations:

Course notes, recorded lectures, assignments, and projects will all be delivered online via the Columbus State Community College Blackboard system. The primary mode of communication for this course will be email. Students will be asked in the first week to provide the instructor with their preferred email address for course communications. Other means of course communication will include online forum discussions and instructor office hours. Course assignments will be used to assess the student’s mastery of the course material in order to receive a certificate.

Students are expected to complete all assignments. It is the student’s responsiblity to seek assistance from the instructor if needed.

Course Software:

For Windows users: You will use the C compiler MinGW with the Eclipse IDE. The installation instructions will be posted in the course materials for the first week.

For Mac users: Mac OS has a native C compiler that can be accessed via the Terminal and command line. You may use an editor of your choice. The instructor recommends the free application TextWrangler as it offers syntax coloring of code.

Course Text:

The C Programming Language 2nd Edition, Kernighan and Ritche, Prentice Hall, 1988

Course Schedule:

Week 1

  • Course Introduction
  • Getting Started
  • Variables and Data Types

Week 2

  • Control Flow
  • Loops
  • Functions and Prototypes

Week 3

  • Numbers and Mathematical Functions
  • Arrays
  • Input and Output

Week 4

  • Program Organization, Macros, and Preprocessor Directives
  • Strings
  • Structures

Week 5

  • Software Libraries
  • Testing and Debugging
  • Object Oriented Programming