George Mason University 


CS100 - Principles of Computing - Spring 2015

Tues, Thurs 12:00--1:15, Krug 242

Prerequisites | Description | Readings | Syllabus | Grading | Late | TA | Dates

This page last updated on 1/18/2015

Professor Dana Richards 


(Please prefix the subject of your email with CS100.) 

Course office hours: Monday and Tuesday 3:00-4:00 or by appt.

Engineering Bldg 5320 




This course is intended to help students learn to think in the manner necessary to fully grasp the nature and power of the digital world around us. The early era of the Internet and the personal computer led to the need for "computer literacy." Now, the changing nature of our global society requires that students learn new ways to think about problems and how to solve them, regardless of students' specific fields of endeavor. Through this course, students will explore major issues related to the "big ideas" of computational thinking (namely, (i) Creativity, (ii) Abstraction, (iii) Data, (iv) Algorithms, (v) Programming, (vi) Internet, and (vii) Societal Impact), as well as how these issues will impact their future lives.


  1. Students will be able to use technology to locate, access, evaluate, and use information, and appropriately cite resources from digital/electronic media.
  2. Students will understand the core IT concepts in a range of current and emerging technologies and learn to apply appropriate technologies to a range of tasks.
  3. Students will understand many of the key ethical, legal and social issues related to information technology and how to interpret and comply with ethical principles, laws, regulations, and institutional policies.
  4. Students will understand the essential issues related to information security, how to take precautions and use techniques and tools to defend against computer crimes.
  5. Students will recognize the significance of the "big ideas" of computational thinking.


  1. The New Turing Omnibus, Dewdney.

    2. The Pattern on the Stone, Hillis.

    3. The Innovators, Isaacson.

    4. Getting Started with Processing, Reas and Fry


The pace is self-adjusting. Chapters (all short) in Dewdney and [page numbers] in Hillis.

Logic 3, [1-10]

Information 49

Codes 12, 42, [91-93]

Computation 33

Automata 2, 7, 31, [30-38]


Logic and circuits 3, 28, 38, [10-19], [21-30]

General-purpose computers 17, 48, 56

Algorithms 1, 15

Recursion 24, 55

Programming [39-59]

Universality 51, 66, [61-66]

Complexity 26, 34, 45, 41, 54

Computability 59, 39, 63, [68-71]

Data representation 12, 52, 43, 11, 47 [93-100], [102-106]

Databases 65

Security 50, 37, 60. [100-102]

Application-specific machine 27, 36, [121-135]

Artificial intelligence 6, 19, [137-152]

Parallelism [107-120]


Virtual machines

System Software

Expert systems

Randomization 4, 8


Readings from the other texts will be mentioned in class.


Homeworks — 30%

Paper — 15%

Exam/quizzes — 30%

Final exam — 25%

The final exam will be as scheduled May 7: 10:30; it will be cumulative.

During the semester there will be three “mini-exam’’ (or “long quizzes”); each will be 30 minutes.

Tenatively, these are scheduled for Feb 12, Mar 17, and Apr 9.

The exams will be related to the homeworks and the readings.

There will periodic graded homeworks; five are planned.

A homework will be a combination of written problems and computer-based assignments.

Some of the computer-based assignment will involve small programming assignment.

We will use the language Processing.

There will be a term paper.  The typical term paper will be based on a book; we will choose

books that highlight the development of computing and/or its societal influences

Direct copying from any source can not be submitted as your own.

Except when indicated, there is to be NO group work on the programs. 

Receiving direct contributions to the code that is submitted is considered a violation of the Honor Code. 

(See for the GMU and Computer Science guidelines.)

Be advised that the teaching team will be employing electronic means to detect plagiarism.


A homework due on, say, Thursday must be submitted before class.

If it is submitted more than once once the last submission is graded.

Homework will be marked down 10% each day it is late.

GTA:   H. Zafar,, hours TBA  

UTA:   Jimmy Tran,, hours TBA  

NO LAPTOPS, ETC. (If you NEED a laptop for note-taking then speak to me.)