CS 110 Essentials of Computer Science
Fall, 2018
3 Credits

Section -001    Class Day/Time:  MW 9:00-10:15 a.m.     Class Location: Engineering 1101
Section -002    Class Day/Time:  MW 3:00-4:15 p.m.      Class Location: Exploratory Hall L004
Instructor: Prof. John Otten
Email address:  jotten2(at)gmu.edu       Office Phone: 703-993-1669
Office Location: ENGR 5335   Office Hours: Mondays and Wednesdays 12:00-1:15 p.m., or by appointment

Section -003    Class Day/Time:  TR 3:00-4:15 p.m.      Class Location: Exploratory Hall L004
Instructor: Prof. Kevin Andrea
Email address:  kandrea(at)gmu.edu    Office Phone: 703-993-5429
Office Location: ENGR 4610   Office Hours: Thursdays 12:00-2:30 p.m., or by appointment

Graduate Teaching Assistants:
        Preethi Datla (Section 003)
        Waliyat Olayiwola - (Section 002)
        Deepak Pagaro - (Section 001)

Undergraduate Teaching Assistants:
Kevin Andrews
Isabel Bennett
Preeti Joginapalli
Bonmyeong Koo
Matthew Pham

Contact emails for the Teaching Assistants can be found on Piazza

Textbook and Readings:

Computing Resources: It is assumed that students will have access to a computer and have the ability to install software.  Some university labs provide the needed software to complete assignments, but in order to gain experience, it is preferable to use a personal system. 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 or programming 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.

This course is required for all computer science students and serves as an opportunity for students to be introduced to Computer Science Department policies. Freshmen and transfer students are required to take the course in order to ensure that all CS students have exposure to certain essential tools and topics early on to enable their use in subsequent classes.

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

Note: Students who have completed CS 310, CS 330, and CS 367 should NOT enroll in CS 110. Please see your academic advisor for alternative options regarding the completion of your BS CS or BS ACS course requirements.

Learning Outcomes: This course is intended to meet the IT Ethics component of the Mason Core Requirements. To do this, it will address the following outcomes:
The course also has the following outcomes:

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 for the purposes of course planning for following semesters.

Grading Scale:

A 93% and up
A- 90-92%
B+ 87-89%
B 83-86%
B- 80-82%
C+ 77-79%
C 70-76%
D 60-69%
F Below 60%

Note:  The grading scale given above is a general guideline, and may be adjusted by individual instructors.  However, it will never be the case that a percentage higher than shown above will earn a lower grade than the one with which that percentage is associated (e.g 87.5% will never be given a grade lower than B+).

Course Schedule  (Subject to changes as the course progresses):

Topics Readings
Week 1 Introduction; The CS Major at GMU; Honor Code/Plagiarism Computer Science Illuminated (CSI) Chapter 1 (pp 3-30)
GMU Honor Code, CS Dept Honor Code
Week 2 Bits and Bytes; Binary/Octal/Hexadecimal Numbers CSI Chapter 2 (pp 35-49)
Leibniz - Binary Arithmetic
Week 3 ASCII and Unicode (UTF-8); Famous Software Failures CSI Chapter 3 (pp 55-86)
CSI 18.2 (pp 602-610)
Week 4 Boolean Logic; Gates and Circuits;
Software Engineering Code of Ethics
CSI Chapter 4 (pp 93-115)
ACM/IEEE Software Engineering Code of Ethics
Week 5 Computer Architectures; Introduction to Problem Solving CSI Chapter 5 (pp 121-148)
CSI 7.1 (pp 197-204)
Week 6 Machine Code; More Problem Solving CSI Chapter 6 (pp 153-191)
Week 7 Introduction to Unix; Midterm CSI Chapter 10 (pp 337-361)
Introduction to Unix: Sections 1-3 (pp 7-32) and Section 8.3 (pp 98-102)
Week 8 More Unix; Flow Charts CSI Chapter 11 (pp 369-388), Introduction to Unix: Sections 4-6 (pp 33-58)
Week 9 Computer Networks; Introduction to Ethics CSI Chapter 15 (pp 501-525)
GMU Personal Web Pages
Week 10 World Wide Web and HTML; Ethical Theories CSI Chapter 16 (pp 531-558)
Ethical Theories Articles (Links on Blackboard under Course Content)
Week 11 Computer Security; More Ethical Theories CSI Chapter 17 (pp 563-587)
Week 12 Social Implications of Computing TBA
Week 13 More Social Implications TBA
Week 14 More Social Implications; Course Review TBA

Final Exams Section 001 - Monday, Dec 17, 7:30-10:15 AM
Section 002 - Monday, Dec 17, 1:30-4:15 PM
Section 003 - Thursday, Dec 13, 1:30-4:15 PM

Late Assignments: Assignments turned in after the due date will be penalized 10 percent per day (incl. weekend days/holidays). You should recognize that late work can cause major penalties, so start work early! If your assignment isn't the way you'd like it to be when the deadline is near, submit it anyway for partial credit. In fact, submit early and often! The Blackboard system permits you to retrieve and resubmit your assignment until the due date, so you may resubmit if you improve your assignment prior to the deadline.   Resubmissions after the deadline require approval of your TA (s/he may already have graded your assignment). If you know that you wish to resubmit a new version after the deadline, it is your responsibility to notify your TA no later than the time of the deadline, so s/he will not grade the on-time submission. 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)

Special Accommodations:  If you are a student with a disability, please see your instructor and contact the Office of Disability Services (ODS) at (703) 993-2474. All academic accommodations must be arranged through the ODS: http://ods.gmu.edu

Absences and Participation Credit:  Any absences from class for health or emergency reasons are excusable only if reasonable notice is provided, in advance if possible.

Honor Code Policies:  All students are expected to abide by the GMU Honor Code found at http://oai.gmu.edu/mason-honor-code/full-honor-code-document/. This policy is 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 is governed by the GMU Honor Code and will not be tolerated.  Cheating on any assignment will be prosecuted and result in a notification of the Honor Committee as outlined in the GMU Honor Code. Sharing, collaboration, or looking at any assignments that are not your own is considered cheating. Review the university honor code and present any questions regarding the policies to instructor.

The computer science department has an additional, more restrictive CS Honor Code that you are also subject to. Make sure you read and familiarize yourself with these rules.