CS 100 - Principles of Computing

George Mason University
Course Description: Section 001 -- Fall 2016

Instructor: Prof. John Otten
Email address:  jotten2@gmu.edu    Office Phone: 703-993-1669
Office Location: ENGR, Room 5335; Office Hours: T/R 10:30 - 11:30 or by appointment
Class Day/Time: T/R 12:00 - 1:15 p.m.
Class Location:   Art and Design Building, Room L008
Online Class Syllabus: http://www.cs.gmu.edu/syllabus/syllabi-fall16/CS100OttenJ.html

Please note: Additional details will be posted to the course folder on Blackboard.

DESCRIPTION: CS 100 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 lead 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.

LEARNING OUTCOMES: By the end of the semester, a passing student will be able to carry out the following types of activities:

  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.

This course fulfills the Mason Core requirement in information technology.

TRANSLATION OF THE ABOVE: This class will give you some idea about how computers work, why we as a society use them, and the problems that can occur with and/or without them. It will also discuss current trends in computing technology and give some insight into what people in the computer science and software fields need to do in order to use computers to solve problems. You will be introduced to basic building blocks for computers and programs and you will "get your hands dirty" by creating your own algorithms and computer programs. The course will also give an overview of the history of computing from ancient times to the present day.

Prerequisite: None.

TEXTBOOK:   There is no required textbook to purchase. Readings will be assigned via various sources, such as internet articles, and freely available downloadable textbooks.

Graduate Teaching Assistant:  Mingrui Han  Email: mhan8@masonlive.gmu.edu   Office Hours: Thurs/Fri 3:00-4:30


Class: Class lectures will be held on Tuesdays and Thursdays, from 12:00 - 1:15 p.m. Students are expected to attend the full lecture each week and are responsible for all material covered during lecture.

Electronic Devices:  Use of electronic devices (including laptops, tablets, cell phones, etc.) is strongly discouraged during class, except during selected group work exercises.  Please make sure all such devices are turned off or silenced while class is in session.

Computing Resources: You are required to have access to an internet enabled computer. Some university labs provide computers for this purpose but most students find it more convenient to have a personal computer. Some lecture time may be devoted to showing the use of online applications. If it will be difficult for you to gain access to computing resources, contact the instructor.

Programming Assignments: There will be several small programming assignments throughout the semester. You will use an online compiler to write, compile and run your programs. Grading rubrics will usually be provided and should be consulted to ensure that assignment specifications are met. If your program is incomplete or does not run correctly, you may still submit it for partial credit. However, your code must have the ability to run completely without obvious errors, even if all functionality given in the specifications are not present. Your TA relies on running your program as part of your grade determination.  Therefore, any programming assignment that is submitted but either does not compile or has major errors when it is run will receive no more than 50% credit.

Students are expected to work independently outside of class to familiarize themselves with the GMU computer systems, to read and review all assigned materials and to complete all homework and programming projects.

Generally, programming assignments will be individual effort (i.e. no collaboration with other students). Occasionally, group programing assignments may be assigned.

Reading: Students are responsible for reading and understanding all assigned material. Be aware that some material covered in class may not be found in the assigned readings.  If you do not understand any of the covered material or reading assignments, ask questions in class, on Blackboard or during GTA/instructor office hours.

Due Dates: Due dates for all assignments will be posted on Blackboard. Assignments are posted in advance, and are due in the manner stated in the assignment (either electronic submission through Blackboard or in class) no later than the date specified. 


Your course grade will be a weighted average of the following items:

Homework assignments will be a mixture of problem solving, writing English responses to questions, and writing code. Some HW will be individual effort and other HW may be done in groups of a limited size.

Quizzes and/or "Mini Exams" will be given periodically throughout the semester. Usually (but not always) they will be announced ahead of time. Announced exams will generally be worth more to the overall average than unannounced exams.

Class Participation and Instructor Evaluation may include in-class exercises.


CS 100 will use Blackboard and GMU email for most class communications. We will also be using Piazza for questions on assignments.  You are responsible for any announcements or information posted on Blackboard or Piazza, either by your instructor or your GTA.  Since most Blackboard announcements will also be sent to your GMU email account, please make sure your GMU email account is active and able to receive messages.  Individual communications with the professor/GTA should also use your GMU email account. When you send email, please be sure to include your name, the class number and section and the topic in the subject header. (E.g.: Subject: Jim Jones / CS 100-002 / Homework 2)

** Final Exam Date: Thursday, Dec. 15 (10:30 a.m. - 1:15 p.m.) **


If you are a student with a disability, please contact the Office of Disability Services (ODS) at (703) 993-2474.  I will be happy to arrange any appropriate academic accommodations, but they must be arranged through ODS (http://ods.gmu.edu).


GMU Writing Center:  Robinson Hall, Room A114;  (703) 993-1200;  http://writingcenter.gmu.edu
University Libraries "Ask a Librarian":  http://library.gmu.edu/mudge/IM/IMRef.html
Counseling and Psychological Services (CAPS):  (703) 993-2380;  http://caps.gmu.edu