CS 131: Introduction to Computer Science I

Spring 1999

04 South College



Section 1: 11 MWF
3:30-5:30 M
Prof. Grant Braught
254 South College ...... x1401
braught@dickinson.edu


Text: The Analytical Engine: An Introduction to Computer Science Using the Internet, Decker & Hirshfield, PWS Publishing, 1998.

CS131 is intended to be the entry point in the Computer Science curriculum for students with no previous programming experience. In addition to teaching the basics of programming and problem-solving, it introduces Computer Science as a major scientific discipline, with topics including computer organization, networking, and operating systems. Special emphasis is placed on problem-solving and experimentation through Web-based programming using JavaScript.

The majority of class time will be spent working semi-independently on the computer -- completing online lessons, experimenting with existing programs, and studying general resources over the World Wide Web. In addition to three 50 minute class meetings per week, each section has a scheduled 2 hour lab. If you must miss a lab session for a valid reason, discuss this with your instructor prior to missing the lab so that alternative arrangements can be made.


Policy on Collaboration

When working in the lab, you are encouraged to discuss ideas and results with fellow students. However, the answers to specific questions in the Lessons and Lab Assignments must be your own work. Any person guilty of plagiarism, the submission of another person's ideas or work as one's own, most likely will suffer the consequences of academic censure and at least a failing grade in the course. If you have any doubts as to the meaning of plagiarism as it applies to this course, you should discuss them with the instructor.


Grade Determination

Most class periods will be spent working through Online Lessons which introduce programming and general computer science concepts, and contain numerous exercises to demonstrate and reinforce these concepts. You should complete all of the exercises in each lesson. Within each lesson you will be required to turn in selected exercises. The exercises that you must turn in will be marked with an icon (). A printout of your solutions to the selected exercises must be submitted at the beginning of the next class period. For example, the exercises from a Monday Lesson must be completed and handed in on Wednesday. You may note that Lessons that are based on readings from the text are divided into two parts. Part A must be submitted via email by 8 am on the specified date. Part B will be due at the beginning of the next class period, as with other Lessons.

Solutions to the odd numbered exercises in the Online Lessons will be posted by late afternoon on the due date. Accordingly, late submissions will not be accepted. You will be allowed to drop your 5 lowest Lesson grades, however.

Lab Assignments are to be completed during the scheduled lab period and submitted at the end of that period. Lab Assignments may not be submitted late without prior consent of the instructor.

online lessons 10 %
12 lab assignments 35 %
2 50-minute tests 30 %
cumulative final exam 25 %


Tentative Schedule

Date Topic Lesson Lab Assignment
Jan 20
22
course overview
algorithms and JavaScript
0
1
NO LAB
25
27
29
displaying values & expressions
variables & assignments
predefined functions
2
3
4
1: JavaScript basics
Feb 1
3
5
History of Computing (pp. 1-18)
turtle graphics
abstraction & functions
5a & 5b
6
7
2: Mad Libs
8
10
12
Local Applications (pp. 22-50)
function calling sequence
abstraction & libraries
8a & 8b
9
10
3: drawing
15
17
19
repetition & for loops
for loops & sums
Global Applications (pp. 53-67)
11
12
13a & 13b
4: grammars
22
24
26
Global Applications (pp. 67-78)
review
TEST 1
14a & 14b
 
 
NO LAB
Mar 1
3
5
if statements
if statements & counters
repetition & while loops
15
16
17
5: random walk
8
10
12
in-class exercises
boolean expressions
program design
 
18
19
6: random walk
15
17
19
SPRING BREAK
SPRING BREAK
SPRING BREAK
   
22
24
26
in-class exercises
Designing for Use (pp. 81-109)
Designing for Use (pp. 109-124)
 
20a & 20b
21a & 21b
7: guessing game
29
31
Apr 2
dynamic pages via JavaScript
dynamic images via JavaScript
event-driven programming
22
23
24
8: user interface
5
7
9
in-class exercises
Program Translation (pp. 200-230)
strings
 
25a & 25b
26
9: event-driven conversions
12
14
16
strings & design
review
Test 2
27
 
 
10: encryption
19
21
23
Hardware (pp. 233-244)
Hardware (pp. 247-257)
Hardware (pp. 257-265)
28a & 28b
29a & 29b
30a & 30b
11: Prisoner's Dilemma
26
28
30
Theory of Computation (pp. 269-291)
Artificial Intelligence (pp. 295-323)
Computers & Society (pp. 326-347)
31a & 31b
32a & 32b
33a & 33b
12: Hangman
May 6
Section 1: FINAL EXAM    2-5    (Thursday)



Last updated: