CMSC 121: Introduction to Computer Science
(Spring 2019)

Section 01:  MWF 11-11:50 am Ruffner G54
Section 02:  MWF 2-2:50 pm Ruffner G54

Course Information Handout/Syllabus
Scott McElfresh
x2249       Ruffner 346
ProfScottMcElfresh @

Office Hours:
(no appointment needed,
just drop by during these times)

yellow divider

Mon, Jan 14

No classes.
Tue, Jan 15

Wed, Jan 16

  • Introduction
  • What is Computer Science?

  • Technology and Society assignment (due dates in stages)
  • Be sure that you can access the LancerNet wireless on your laptop.
  • First history assignment (due Fri)
  • Read about Arithmetic on a Computer. (due Fri) Try out some of the exercises, but they are not to be handed in.
  • Be certain that you have access to a spreadsheet on your computer. Microsoft Excel is recommended.
    • If you do not have one, you can download and install a free alternative:
    • For the Mac, ICalc may be installed, but it is not recommended.
    • Online Google spreadsheets will work for much but not all of what we will be doing.
Thu, Jan 17

Fri, Jan 18
DUE:   First history assignment
DUE:  Read Arithmetic on a computer.

  • some history
  • accuracy of calculations
  • order of operations
  • in-line expressions
  • Watch this Intro to Excel video on youtube.
  • Read about Series in Spreadsheets  Look at problems 2, 5, 8, 11, and 14
    • Solve each using a calculator to help if necessary.  (They are solvable but mildly tedious.)
    • Next class, we will be looking at using spreadsheets to help us.   You will learn more during class if you understand what the questions are asking.
yellow divider
Mon, Jan 21

No classes.
Tue, Jan 22

Wed, Jan 23
DUE:  Excel intro video and Spreadsheet Series reading.

  • Spreadsheet calculations
  • Series in spreadsheets
Today's examples:  (available under Files in Canvas)
  • PowersOf2
  • BacteriaInAPond

  • At this point, you should be able to do all of the problems at the end of Series in Spreadsheets. Work on them. If you have problems, ask questions.
  • Handin: Beginning of class on Friday: On paper, your answers to problems 5, 11, 13 and 14. You should include an explanation of how you got the spreadsheet to help you get your answers. (EG What formulas you typed and where.) If you give me just answers and they are wrong, no partial credit is possible.
    • For number 14, it does not give you a starting number.    Invent three starting numbers and see what happens for each.
    • You may work in pairs on this one.  Turn in only one submission.   By putting two names on it, you are stating that both people worked on each of the problems together.
Thu, Jan 24

Fri, Jan 25
DUE:   Series in Spreadshets questions from Wed.

  • intro to functions in spreadsheets
Today's examples: (available under Files in Canvas)
  • Exercise minutes
  • Counts In Ponds
  • Read about Functions in Spreadsheets
    • Try all of the exercises at the end of the reading.  
    • HANDIN (beginning of class Wed): your answers on paper to exercises 1-5 and 13-20.
yellow divider
Mon, Jan 28
DUE: assignment from Friday

  • intro to conditionals

Assigned:  read about decisions/conditionals in spreadsheets (link in canvas)
Tue, Jan 29

Wed, Jan 30

  • conditionals in spreadsheets
Thu, Jan 31

Fri, Feb 1

No inclass topics

history assignment due Monday, Feb 4 (details in Canvas)
yellow divider
Mon, Feb 4
DUE: history assignment (details in Canvas)

  • and/or  and nested conditionals
Tue, Feb 5

Wed, Feb 6

  • introduction to binary representations
Thu, Feb 7

Fri, Feb 8

  • binary patterns and binary number system
Assigned: Assigned:
  • Take home quiz handed out.
yellow divider
Mon, Feb 11
DUE:  Take home quiz

  • Binary, Hexadecimal, ASCII

Tue, Feb 12

Wed, Feb 13
Due: Spreadsheets hw

  • more with binary representations
Thu, Feb 14

Fri, Feb 15

  • binary representation
yellow divider
Mon, Feb 18

  • fractions and negative numbers

Worksheet handed out
Tue, Feb 19

Wed, Feb 20

11am section cancelled due to University Closure due to weather.
2pm section review

Thu, Feb 21

Fri, Feb 22

Inclass Exam
yellow divider
Mon, Feb 25
Workshop on Abstract and Sources for Tech and Society

  • Read about representing images
  • Download the PixelSpreadsheet program. Use the "Current Version." This is just a zip file. There is no "installation process".  We will discuss how to use it on Wednesday.
    • Watch the 3 videos on the page.
    • Windows:  If having difficulty downloading, get the file in Canvas.
    • Mac:  If having difficulty downloading, get the Development version.
Tue, Feb 26

Wed, Feb 27

  • images and representations
Thu, Feb 28

Fri, March 1
DUE: Abstract and Sources for Tech and Society

yellow divider
Mon, March 4 - Friday, March 8

Spring Break   No Classes

yellow divider
Mon, March 11

  • intro to file measurements and compression
Tue, March 12

Wed, March 13

  • compression and transmission calculations 
Inclass worksheet
Thu, March 14

Fri, March 15

  • more dimensional analysis

Weekend worksheet
yellow divider
Mon, March 18

  • work on worksheet
Tue, March 19

Wed, March 20

  • intro to lossless compression with text
  • Read this website that introduces how text compression can work.  Be sure to click through the numbered links at the bottom.
Thu, March 21

Fri, March 22

  • pattern replacement compression with text

  • worksheet due Mon, March 25 beginning of class.  (graded 50% effort, 50% correctness)  The worksheet is available in Canvas if you were not in class to get a printout.
  • Online quiz in Canvas (due at 5pm Tue, March 26)
yellow divider
Mon, March 25
Due:  text compression worksheet (beginning of class)
  • intro to error detection

Read about error detection.   Note that this reading has 9 bits as the grouping, rather than the 8 we did in class.
Tue, March 26

DUE:  5pm   Canvas Quiz
Wed, March 27

  • check sums and check digits

Look at some items in Wikipedia:
Thu, March 28

Fri, March 29

inclass worksheet (intended to be completed in class)  File available in Canvas
yellow divider
Mon, April 1

Sample exam questions
Tue, April 2

Wed, April 3

Inclass Exam
Thu, April 4

Fri, April 5

  • steganography
yellow divider
Mon, April 8

Tue, April 9

Wed, April 10

  • intro to Python and turtle graphics
  • Read about Turtle Graphics.
    • Consider the questions at the end of the reading.
  • Download the Python software.    Version 3.7.3  is fine.
  • Run the installer before class on Fri, April 12
Thu, April 11

Fri, April 12
Bring laptops to class with software installed.

Inclass Exercise on Python and Turtle Graphics
yellow divider
Mon, April 15

  • creating functions in python
Tue, April 16

Wed, April 17

  • using anchor points and dimensions
  • simplistic animations and repetitious code
  • Look over the inclass examples that are posted under Files in Canvas
Thu, April 18

Fri, April 19

Bring laptops to class.

inclass Exercise #2 on Python and Turtle Graphics
yellow divider
Mon, April 22

Tue, April 23

Wed, April 24

Thu, April 25

Fri, April 26

yellow divider
Mon, April 29

Tue, April 30

Wed, May 1

Thu, May 2

Fri, May 3

Section 01:  (The 11am section)
Final Exam:  8-10:30am
Details TBA

yellow divider
Mon, May 6
DUE:  Tech and Society Papers  at 8pm

Tue, May 7
Wed, May 8

Section 02:  (The 2pm section)
Final Exam:  8-10:30am
Details TBA

Thu, May 9

Fri, May 10

yellow divider