CS 110

Essentials of
Computer Science


Section 001 (Otten)    Tuesday and Thursday, 1:30–2:45 PM, in King Hall 1006
Section 002 (Luke)    Monday and Wednesday, 1:30–2:45 PM, in Planetary Hall 129
Section 003 (Otten)    Tuesday and Thursday, 3:00–4:15 PM, in Planetary Hall 131


John Otten     Emailjotten2@gmu.edu     Phone703-993-1669
    OfficeENGR 5335     HoursTBD
Sean Luke     Email sean@cs.gmu.edu     Phone Unanswered
    Office ENGR 4451     HoursTBD

Teaching Assistants

Graduate TAs     Yujing Chen Saleh Amireh Tsvetomir I. Hristov
Undergraduate TAs     Brian MacMonigle Rajesh Patel Anthony Sermania


None. Enrollment in the course is limited to students in the BS Applied Computer Science or BS Computer Science programs.

Textbook and Readings

Introduction to Unix by Fiamingo, DeBula, Condron, available online for free. Additional assigned readings of webpages and other materials will be given as the course progresses.

Computing Resources

Students must have access to a computer and have the ability to install software and operating systems on it.  If a student anticipates difficulty accessing a suitable environment, contact your instructor.

Course Description

This course provides a baseline knowledge of technical and social issues at the heart of computer science. No prior knowledge of computing is assumed. Students will develop a basic understanding of simple algorithms, information representation, and styles of problem solving which strongly affect computer science. They will gain practical experience working with a Unix-like operating system. Data security will be discussed to ensure safe communication. Students will gain exposure to basic software development tools such as version control, text editors, and shell scripting. A variety of social and ethical issues will be discussed throughout the course including information ownership and the impact of computing on society. Guest lectures from active computer science researchers will give students some exposure to cutting-edge problems in the field.


Grading will be divided roughly as follows: 45% Homework assignments, 10% Class participation, group assignments, and instructor evaluation, 45% Exams.

In addition, in order to receive a passing grade in this class, each student will also meet at least once with their academic advisor during the semester.

Late Assignments

Assignments turned in after the due date will be penalized 10 percent per day (including weekends and holidays). You are permitted to submit early and to do so multiple times: only the last submission will be graded. Resubmissions after the deadline will require prior (before the deadline) approval of your TA. No resubmissions may be made after an assignment has been graded.

Class Communications

CS 110 will be using Piazza and Blackboard for most class communications. You are responsible for any notifications or information posted on Blackboard/Piazza either by your instructor, your GTA or the class UTA(s), and you will need to check the systems regularly for such notices. Some information may be disseminated through these systems rather than in class. Individual communications with the professor/GTA/UTA may be done by email using your GMU email account. When you email, please be sure to include your name, the class number and the topic in the subject header. (E.g.: Subject: Jim Jones / CS 110-003 / Homework 2)


If you have a documented learning disability or other condition which may affect academic performance, make sure this documentation is on file with the Office of Disability Services and come talk to us about accommodations.

Absences and Participation Credit

Any absences from class for health or emergency reasons are excused only if reasonable, official notice is provided.

Honor Code

All students are expected to abide by the GMU Honor Code. The computer science department has a specific interpretation of the Honor Code for computer science majors that you are subject to. Honor code policies are rigorously enforced. Unless otherwise specified, all class-related assignments are to be individual efforts. Certain portions of group assignments may require individual efforts as well. Be careful to follow instructions regarding acceptable group efforts. Plagiarism, copying code, unauthorized collaboration, looking at other assignments that are not your own, and other forms of cheating on any assignment will result in a notification of the Honor Committee as outlined in the GMU Honor Code. Feel free to ask the instructors for any clarification.

MASON Core Ethics Learning Outcomes

This course is intended to meet the IT Ethics component of the Mason core Requirements (pending approval from the GMU Core Committee). To do this, it will address the following outcomes:
  • IT Outcome #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.

    This will be met through class discussions related to ethical theories and social implications of current computing trends such as Artificial Intelligence, Software Reliability, Responsible Computing, and use of online resources. Several class assignments will also address these topics.

  • IT Outcome #5: Students will understand the essential issues related to information security, how to take precautions and use techniques and tools to defend against computer crimes.

    This outcome will be met by class lectures on encryption, security, student use of secure communication channels (i.e. Virtual Private Networks), and an assignment on the modification of software security settings.