CMSC 150: Introduction to Computing - Fall 2009

Lewis Barnett

MWF 1:30-2:20 Jepson G21

Lab: R 1:30-3:30 Jepson G21

Office hours: T 1:30 - 2:30 pm; W 2:30 - 3:30 pm; F 10:00 - 11:00 am; or by appointment

Handouts

Links

Jar Files

Tests:

Date Due Topic list
Fri, 2 Oct Test 1 topics
Mon, 9 Nov Test 2 topics

Reading Assignments:

Reading for this course are taken from a draft of "Progamming with Java, Swing and Squint" by Tom Murtagh. For details, click here.

Date Due Assignment
Start of class, Wed 26 Aug
UDC, Ch. 1:   Being Discrete
Start of class, Fri 28 Aug
UDC, Ch. 2: Encoding Text with a Small Alphabet
PJSS, Ch. 4 §1:   Let's Talk - Protocols
Start of class, Mon 31 Aug
PJSS, Ch. 1: What is Programming Anyway?
PJSS, Ch. 2: What's in a Name?
Start of class, Mon 7 Sep
PJSS, Ch. 3: Probing Questions
PJSS, Ch. 4 § 2,3: Using NetConnections, Summary
Start of class, Fri 11 Sep
UDC, Ch. 3: Variable Length Codes
Start of class, Mon 14 Sep
PJSS, Ch. 5: Pro-Choice
UDC, Ch. 4: Digital Transmission
Start of class, Wed 17 Sep
UDC, Ch. 4.1-4.2.3, 4.2.5: Digital Transmission
Start of class, Mon 21 Sep
PJSS, Ch. 8: String Theory
Start of class, Wed 24 Sep
PJSS, Ch. 9: Doomed to Repeat
Start of class, Mon 5 Oct
PJSS, Ch. 6: Class Action
Start of class, Fri 8 Oct
PJSS, Ch. 7: Primitive Technology
Start of class, Fri. 16 Oct
PJSS, Ch. 10: Recurring Themes
Start of class, Mon. 19 Oct
UDC, Ch. 6: Broadcast Networks
Start of class, Wed. 28 Oct
PJSS, Ch. 11, through section 7: Tables of Content
Start of class, Fri. 30 Oct
PJSS, rest of Ch. 11: Tables of Content
Start of class, Fri. 6 Nov
UDC, Ch. 7, Sec 1 - 5: internetworking
PJSS: Programming with Java, Swing, & Squint (first section of course packet)
UDC: Understanding Digital Communications (second section of course packet)

Homework Assignments:

Date Due Assignment
Start of class, Fri 4 Sep Encoding Information [PDF]
Start of class, Monday 28 Sep Digital Transmission, conditionals and while loops [PDF]
Start of Class, Monday 2 Nov. Loop and Recursion Practice [PDF]

Lab Assignments:

Date Due Title Preparation
11:00 pm, Mon. 7 Sep Exploring Internet Email Protocols [PDF] Read PJSS, Ch. 4 §1: Let's Talk - Protocols (assigned above)
11:00pm Mon 14 Sep A Minimal Email Reader [PDF] Read PJSS, Ch. 4 §2-3: Using NetConnections (assigned above)
By lab time, Thurs. 24 Sep A Multi-Message Email Reader [PDF]  
Start of lab, Thurs 1 Oct BlueJ_debugging_tutorial_I [PDF]
BlueJ_DebuggingTutorial_II [PDF]
BlueJ project to accompany debugging tutorial [ZIP]
MessageMenu project [ZIP]
Lab time, Thurs 8 Oct Chatting AIMlessly [PDF] TOCtools.jar
Lab time, Thurs 22 Oct TOC to Me [PDF]  
Lab time, Thurs 29 Oct Recursive Revision [PDF] Lab6.zip (Starting Code for Lab)
Thurs 5 Nov at lab time Digital Image Processing [PDF] AllImages.zip (Images for Lab 7)
Lab Time, Thurs. Nov. 12 Little Photoshop Of Horrors [PDF]   PreviewWindow.java    images.zip
Lab time, Thurs. Nov 19 Little Photoshop Of Horrors, Part Duex [PDF]  
5:00 pm Fri 4 Dec Steganography Lab [PDF] test-encrypt.png   Jepson_Hall.jpg   Lilly.pgm   borderImage.pgm   Lilly_withBorderEncrypted.pgm   EncryptedImages-insideTheHead.zip   coverImage.pgm   AB_secret.pgm   cover_AB_encrypted.pgm  

Lectures:

Date Title Files
Wed 26 Aug Being Discrete [PDF - handout] [PDF - slides]  
Fri 28 Aug Representing Information [PDF - slides]    [PDF - handout]  
Mon 31 Aug Intro to Java, Objects, and BlueJ [PDF - handout], [PDF - slides] TouchyButton.zip, WhereFrom.zip, ShowDate.zip
Wed 3 Sep TouchyButton program: JButton, JLabel, JTextField, JComboBox  
Fri 4 Sep More TouchyButton: JPanel, Declarations, Assignment statements TouchierButton.zip, ShowDate with panels
Mon 7 Sep More protocols; NetConnection: using a Java program to send email via cauchy.richmond.edu Examples using NetConnection [ZIP]
Wed 9 Sep More on NetConnection, useful GUI components  
Fri 11 Sep Digital Transmission, Framing and Government Lecture Slides [PDF])
Mon 14 Sep
Wed 16 Sep
Conditional execution lecture7_class.zip
Fri 18 Sep Finish Digital Transmission
Objects in Memory
Slides [PDF] or Handout [PDF]
Mon 21 Sep Strings FancyEmailReader_before.zip FancyEmailReader_after.zip
Fri 25 Sep More on Looping LoopExamples.zip
WhileTester.zip
Mon 5 Oct Writing Your Own Classes Understanding Classes [PDF]
Wed 7 Oct Understanding Classes, Writing and using TOCServerPacket  
Wed 14 Oct Ethernet   Slides [PDF] or Handout [PDF]
Fri 16 Oct The Fibonacci sequence  
Mon 19 Oct Understanding Recursive Classes Lecture slides [PPT], and example files
Wed 21 Oct More recursive examples Slides [PPTX] - download with Firefox or change extension back to .pptx after download
Example files
Friday 23 Oct Parameter Passing - review  
Mon 26 Oct Digital Image Processing Slides [PPTX] (Remember to open with Firefox)
Example program and files
Wed 28 Oct Images and Arrays ArrayTester.zip
Fri 30 Oct Arrays and reading files ArrayTester.zip azul.pgm
Wed 4 Nov Internetworking Slides [PPTX] - Use FireFox to copy
Mon. 16 Nov Searching and sorting Search Analysis slides [PPTX] - User FireFox to Copy; Example Files [ZIP] SelSorter.java SelSortTester.java ComparableSelSorter.java ComparableSortTester.java Die.java

Cool Computer Science stories:

Date posted Description Link
08/28/2009 How Software Found the Air France Wreckage http://spectrum.ieee.org/computing/software/how-software-found-the-air-france-wreckage
9/4/2009 Plasmobot: the slime mould robot http://www.newscientist.com/article/mg20327245.100-plasmobot-the-slime-mould-robot.html
9/9/2009 A Billion Year Ultra-Dense Memory Chip http://newscenter.lbl.gov/feature-stories/2009/06/03/billion-year-ultra-dense-memory-chip/
9/11/2009 Surface Restoration http://www.technologyreview.com/computing/23188/?a=f
10/15/2009 Computer program proves Shakespeare didn't work alone Times Online link
Last modified: Fri Nov 20 11:44:44 EST 2009