CMSC121: Introduction to Computer Science


Fall 2012


Instructor: Dr. R. P. Webber


Office location and hours: Ruffner 332. MTF 2 3:30 and by appointment or coincidence. I am in class practically all day Wednesday, and I am not normally on campus on Thursday.


Telephone and email: 395-2192;



Course description and prerequisite: An introduction to computer science for the nonspecialist. Basic computer architecture and design, storage formats, principles of computer operation, and algorithms. No prerequisite.



Text: There is no textbook to buy for this course. Instead, we will rely on computer files and handouts. You will need to access the course material using Blackboard.



Course objectives:

  1. Understand the fundamental constructs used in programming, including decisions and recursion.
  2. Understand how data is stored inside a computer.
  3. Be able to convert numbers between the decimal, hexadecimal, and binary systems.
  4. Be able to carry out logical and Boolean operations.
  5. Know the basics of digital logic circuit design.
  6. Be able to calculate the compression ratio for a standard data compression algorithm.
  7. Be able to use error correcting algorithms.



Grades:  Your course grade will be determined as follows.

        3 tests, 1 composite quiz grade ...drop lowest of these 4 ......... 48% of the final grade
        Class participation (group work) ............................................. 15% of the final grade
        Writing assignment .............................................................. 15% of the final grade
        Final exam ................................................................................ 22% of the final grade

90-100, A; 80-90, B; 70 - 80, C; 60 - 70, D; below 60, F. Plus and minus grades are normally given to the upper and lower, respectively, 2 points in each range.

Note: The drop/add period ends August 27. The last day to drop with a grade of W is October 9.

Homework:  Homework is assigned regularly, and everyone is expected to do it.  Homework will not be collected without warning, and it is your responsibility to do the assigned problems.  Feel free to work with others on homework, and ask me about problems you cannot solve.

Quizzes:  Given frequently (but not every day), quizzes are given at the start of the period.  They are intended to see if you have read the material and done the simple exercises.  Quizzes are always short, and they are open book and notes.  Often they will be taken directly from the homework.  Quizzes that are missed for any reason cannot be made up.  You may miss one quiz without penalty, but you will be assigned a grade of  0  for any additional quizzes that you miss.

Class participation:  Often you will be asked to work in groups in class.  Working in small groups of three or four, you will be asked to solve a problem and present your results to the class.  Missed class participation sessions cannot be made up, but you will be allowed one absence from a class participation session without penalty.  You will receive a grade of  0  for each additional missed session.

Attendance:  Your attendance is expected at all classes.  Makeup tests will be given reluctantly, and then only upon presentation of a doctor's excuse.  Makeup test are always more difficult than regular tests, regardless of the reason for absence.  You may not make up missed class participation sessions nor quizzes.

Do not leave in the middle of a class, even to get a drink of water.  Students who leave in the middle of class for any reason disrupt the class and break the teacher's concentration.

Writing assignment: As a general education course, CMSC 121 will require more writing than some non-general education computer science courses. There will be at least one writing assignment in this course. It will be graded both for factual correctness and for writing style. More details and a grading rubric will be provided with the assignment.


Tentative Schedule (All files are on Blackboard):


Week 1  Aug 20 24

Introduction; Order of operations. File: operations a computer can do.pdf

Week 2  Aug 27 31

Programming: Loops and decisions. File: spreadsheets and recursion.pdf

September 3

Labor Day no classes

Week 3  Sep 5 7

Decisions; computer components. Files: spreadsheets and decisions.pdf, gradebook.xls, parts of a computer system.pdf

Week 4  Sep 10 - 14

Units used in a computer; review

Week 5 Sep 17 - 21

TEST; Place value; binary and hexadecimal numbers. File: binary decimal hexadecimal.pdf

Week 6 Sep 24 - 28

Hexadecimal; ASCII; 2s complement. File: twos complement.pdf

Week 7 Oct 1 5

Floating point; excess 127 notation File: excess 127.pdf, floating point numbers.pdf

Week 8 Oct 8 - 12

Data compression. Files: file compression.pdf

October 15 - 16

Fall break

Week 9 Oct 17 - 19

Review; TEST; truth tables. Files: introduction to digital logic.pdf

Week 10 Oct 22 - 26

Boolean algebra. File: introduction to Boolean algebra.pdf, laws of Boolean algebra.pdf

Week 11 Oct 29 Nov 2

Boolean algebra; parity; error detection. Files: error detection.pdf

Week 12 Nov 5 - 9

Error detection and correction; Hamming codes. Files: Hamming codes.pdf

Week 13 Nov 12 - 16

Catch up; review; TEST

Week 14 Nov 19

Writing assignment

Thanksgiving break

Nov 26 - 30

Karnaugh maps. Files: karnaugh maps.pdf

Tuesday, December 4

3:00 5:30 Final exam




Honor Code: The teacher subscribes to the Longwood University Honor System, which, among other things, assumes you do not cheat and that you take responsibility to see that others do not. Infractions will be dealt with harshly. A student who is convicted of an Honor Code offense involving this class will receive a course grade of F, in addition to penalties imposed by the Honor Board.