SABIC Introduction to Computing


Christopher Simpkins, Ph.D. College of Computing

Course Description

This course will provide an introduction to computing, including programming, practical computing, and computer science fundamentals equivalent to a first course in computer science at a typical accredited U.S. university.

Learning Outcomes

Student in the class will achieve the following learning objectives:

(Competency) Students will be able to:

  1. Write programs using various data types, and using basic techniques such as assignment, method calls, while loops, for loops, and conditionals.
  2. Use and manipulate several language provided data structures such as: Lists, Dictionaries, and Strings.
  3. Read and write data to and from text files, both as plain text and in structured formats (such as CSV).
  4. Read a textual representation of numerical data and convert it to the appropriate (integer/floating point) data type.
  5. Implement simple business or mathematical algorithms (calculating interest payments, averaging a row of data, calculating standard deviation) into a program.
  6. Use compound data structures provided by the programming language such as lists, arrays, and dictionaries to hold sequences or sets of data, including two-dimensional (tabular) data.
  7. Use objects and associated methods provided by the programming language.
  8. Write programs that are easy to understand so that others may modify and improve them.

(Movement) Students will increase their:

  1. Familiarity with compound data structures (lists, arrays, dictionaries), including nested data structures (multi-dimensional arrays, etc…) and indexing into multi-dimensional data structures.
  2. Speed and accuracy in converting problem statements into programs.
  3. Understanding of and ability to quickly use basic program structures such as iteration, conditionals, and function calls due to repeated practice of these concepts.
  4. Ability to break a medium sized problem down into smaller parts and solve each sub-problem individually.
  5. Ability to test and debug programs.

(Experience) Students will:

  1. Practice the process of constructing small (10-100 line) programs from written requirements.
  2. Deal with data that may include missing elements or malformed representations.
  3. Work in pairs to solve programming problems.



Grade Cutoffs: A: 90, B: 80, C: 70, D: 60


Two or three in-class written midterm exams, and 6-10 homework assignments. Your last homework assignment may be due during the last week of class. Assignments must be turned in before the date and time indicated as the assignment’s due date.

Academic Integrity and Collaboration

We expect academic honor and integrity from students. Please study and follow the academic honor code of Georgia Tech: You may collaborate on homework assignments, but your submissions must be your own. You may not collaborate on in-class programming quizzes or exams.

Course Outline

This outline applies to Fall and Spring semesters. Summer schedule is compressed into 11 instructional weeks.


This course is designed for students with little to no programming experience.

Course Materials

I provide everthing necessary for study outside of class, including material that I write myself and free online resources. The books listed below provide additional material and perspectives.

Note: O’Reilly books listed below are available through Georgia Tech’s Safari Onine subscription. See


The Institute does not discriminate against individuals on the basis of race, color, religion, sex, national origin, age, disability, sexual orientation, gender identity, or veteran status in the administration of admissions policies, educational policies, employment policies, or any other Institute governed programs and activities. The Institute’s equal opportunity and non-discrimination policy applies to every member of the Institute community.

For more details see