cs104 is primarily "Computer Literacy" for Com Sci majors. It will not be required starting in the Fall '05 catalogue.
The class will generally cover a topic, make you use it in lab(s), have a quiz/test over it, then move to the next one. The final will be over everything, but not weighted so much that you can fail because of it.
Starting this semester, cs227 is being taught in java, as part of a three-course sequence: 227, 228(more java) and 229(C/advanced C++) which will not require 104. In other words, if you don't like the content you see here, you don't have to take this course. 104 this semester is primarily for new cs majors without any computer background at all, or older students graduating under the previous catalogue.
Much of the unix content in cs104 appears to be duplicated in our linux class (number??,) but there is some material here that is not, as far as I know, taught anywhere else in the cs program.
Most of the course content is in notes here, scattered over various web links, or simply the man/info pages. Links are on the top page under "Notes".
The labs will be most, if not all, of the homework. It will often be "graded" on the spot, in which case you must attend your official lab. New material will be presented in labs. The final due date for labs to be "checked off" is one week later (during your next lab.) The expectation is that some labs will be too long to finish during lab time (depending on each student's background.)
Tests/quizes will be in-class every 2-3 weeks and will be announced/posted at least one class beforehand, plus a final.
Grades: A tentative estimate of weights is: Labs/HW: 40%; tests/quizes: 40%; final: 20%. The curve will be the standard method: Top scores are A's, decide cutoff for pass/fail and assign C- through A- in between.
The only real rule is: don't distract students trying to listen. Other than that, the following things will not distract me and I will assume you have a good reason: eating, drinking, talking, arriving late, leaving early, reading the newpaper (please sit near the back) or doing homework.
| History/languages/industry/infrastructure I plan to work through this each week, after I cover material for labs. |
|
| 1 | Basic UNIX (cat/more,mv,cp,ls,pico,cd,..,~,dash options,info) |
| 2 | More basic UNIX commands, wildcards("globbing") |
| 3 | Spreadsheet (really, intro to variables, if, functions) |
| 4 | UNIX redirection,pipes,alias |
| 5 | UNIX file permissions, basic HTML & stye sheets(css) |
| 6 | sh/bash scripts: variables, comments, ifs |
| 7 | More scripting (loops: for, while), $PATH, .bashrc |
| 8 | HTML forms; intro to javascript (in HTML) |
| 9 | More javascript |
| 10 | (e)grep, find, sed; regular expressions |
| 11 | visual basic (condensed version of lab 8-9) |
| 12 | Misc unix: job control; tar, compress, gzip, ftp, kerberized telnet |
| 13 | cgi: submit encoding, making the new page w/bash |
| 14 | Power Point (about 20 minutes) |
| Dead week/final exam -- review | |
After successfully completing Com S 104 at the student will be able to:
Owen's comments on outcomes: The outcomes for a course are the most specific guidelines on what it has to at least cover, from semester to semester. As the computing environment changes, cs104 Outcomes have needed to change. Those guidelines are the current draft in the process of updating our outcomes.
My understanding is the current visual basic.NET is quite different from VB6, and that a combination of HTML, forms, javascript and cgi now best fill the intent of the last item.