This syllabus refers to a course that finished in December 2000.

The National Science Foundation (NSF) provided the initial seeds for this course in 1997 by funding NSF DUE-9751660.

The Universal Machine - Wheaton College, Norton, MA

Textbooks  |  Course Details  |  Grade Percents  |  Labs  |  CS Home

Instructor: Mark LeBlanc
Mark's Web Page -- Email
Office: Science Center -- B103
Office Hours:
        Mon/Wed 10:30-11:30
        Tue by appt.
        Fri by appt. 10:30-11:30
Online: virtually always ...
Phone: 286-3970
Meeting Times:
    Lecture: MON and WED 2:00-3:20pm
      in the "smart classroom" A102.
    Lab: MON 8:30-9:20am or
         WED 8:30-9:20am
         in the csLab.

" (The problems we solve with computers today) will become 'simple' problems and a new generation of challenges, which we can now only barely imagine, will take their place on the frontier of what it is possible to do with computers." Aho and Ullman (1995). Foundations of Computer Science, WH Freeman, p95.

Texts: Designing with JavaScript -- Creating Dynamic Web Pages, by Nick Heinle, Heinle text cover will go here ... Songline Studios and O'Reilly, 1997. Required. Heinle provides a good introductory tour of programming using JavaScript.

Excel 2000 Complete Concepts and Techniques, by Shelly, Cashman, Quasney, Excel text cover will go here ... Thompson Learning, 2000. Required. In addition to online help, this is a "hardcopy" source for an introduction to the language of spreadsheets. A good reference for "the next time a boss asks you to produce a report."

Resources:
HTML: http://www.gettingstarted.net/
A community of web professionals named Project Cool has pages of tutorials.

The National Center for Supercomputing Applications, University of Illinois at Urbana-Champaign, HTML Primer.

WebCoder.com -- a site with the purpose of "centralizing all knowledge of JavaScript and Dynamic HTML (and even a bit of Java and ActiveX) into one useful and organized resource."

Operating Systems (both used throughout the semester):
  WinNT Workstation v4.0
  MacOS v9.x

Programming Experience:
  Learn to program in JavaScript, Stella, and Excel.

Software Used:
  Microsoft Peer Web Services (WinNT) and Office, especially Excel (WinNT and MacOS).
  Stella (modeling tool for system simulations, e.g., SimCity) on MacOS.
  HTML Editors (WinNT and MacOS), Fetch (MacOS), WS-FTP (WinNT), and more.

Preamble: Society's embrace of information and our reliance on the distributed networked environments that carry that information is changing the definition of a "liberally educated person." The skills required of all college graduates (not just computer science majors) will soon include the electronic delivery of information and services. To that end, this course allows students to focus on the server-side of the web as they manage their own world-wide-web server. The class has two major objectives: (i) to ensure that each student has a firm grasp of the computational tools required for manipulating, organizing and displaying quantitative data; (ii) to give each student the opportunity to manage the delivery of that information to interested clients. In this introductory course in computing for non-majors, students employ common forms of applications software as tools and then disseminate their results via a personally-managed web server. The quantitative tool-based component includes a significant emphasis on mathematical content. The server-focused component addresses the client-server skills that will be assumed of the best graduates entering the workforce.

Content: Computers are the most flexible tool humans have invented. Users see the computer doing a specific task: word processing, data analysis, image processing. Computer scientists see the computer as having near unlimited potential, capable of taking any shape imaginable. Our primary emphasis this semester is to develop an understanding of the potential, and limitations, of technology by studying several computing tools. The main aim of this course is not to develop your computer skills (although you certainly will develop some skills!), but rather to focus on using computing technology to solve some interesting problems that we could not solve otherwise. The four areas we will focus on are:

  • Multimedia authoring/programming on the World Wide Web using HTML and JavaScript; you will write a small application to help young children solve mathematical word problems.
  • Financial analysis using Excel spreadsheets. For example, we might calculate just how much interest is paid on student loans and how much the length of the loan can be shortened by making prepayments toward the principal.
  • Modeling population growth or the spread of disease using Stella, a program for the Macintosh that aids in the analysis of these models; a healthy suspicion of and limitations in computational models is fostered.
  • Disseminating via the web quantitative results generated by these tools.

Curriculum: This course is one of six courses that count toward a computer science minor at Wheaton. The course also satisfies your Mathematics-Logic (ML) general education requirement. If you know you want to major in computer science and/or you already possess significant computing experience, then COMP 115 (Structured Programming), rather than this course, is your correct choice. Ask for advice if you are not sure.

As always ...

In computer science, if you are almost correct you are a liability.
Fred Kollett (1941-1997), MathCS, Wheaton College


Topics:

Difficulty
Level
Reading Topic
**** lecture notes

http://www.gettingstarted.net/
    -- Basic WebMaking

HTML Primer
    -- Getting Started
    -- HTML Document

Computer Science home page

Mark's homepage

  • Welcome
  • Lingo
  • Introduction to the Wheaton Network ...
      ... and beyond
    Operating Systems:
      WinNT, MacOS, Linux;
      a Computer Museum tour
    Programming Languages:
       JavaScript, Java, C/C++, Perl, ...
    Tools:
      Stella, Excel, Maple, Photoshop, ...
    Browsers:
      Netscape (Navigator) and Microsoft (IE)
    HTML Editors:
      MacOS: PageSpinner v2.1
      Win95/98/NT: Arachnophelia (full version)
    Getting from he-ah to they-ah:
      telnet
      Fetch or WS-FTP
**** notes Absolute and relative HTML references
****** Ch. 2 When red is "#FF0000"; Hexidecimal (base 16), octal (base 8) and binary (base 2)
**** Ch. 1 (Static) HTML and why we need JavaScript
**** Ch. 1 and notes JavaScript mathematical expressions, operators, and if-then-else
****** Ch. 2 Intro to functions
********** Ch. 4 Objects and their (funny) properties ...
*********** Ch. 4 Forms and more functions ... because f(x) is just the start ...
*********** Ch. 4 Random numbers, tallys, sums, and averages
*********** Ch. 5 Addlib - Javascript Project Specification
*********** Ch. 5 Arrays ... pretty maids all in a row.
***** Ch. 8 Cookies ... dip in 'em JavaScript.
******* Ch. 1, p1-22 Intro to Excel ... spreadsheets rule!
******* Appendix A Calculating grades, making predictions
******* notes and TBA monthly load payments, the PMT function, and amortization
************** notes, online help Programming in Excel: absolutely, relatively speaking.
******* notes and TBA IF-ELSE decisions in Excel; trapping errors
****** notes, online help Serving Quantitative Graphs and Charts.

Excel Project Specification

***** notes and handouts Intro to Stella ... SimEveryThing.
********** notes Introduction to System Dynamics; resolution of models
***** online help Web server administration: You da' boss ...
****** notes Analyzing server logs ... "Hey, I got a hit from Europe!"
The exact pages for you to read online, in your text and/or on reserve will be assigned in lecture.


Your Grade:
Things to do Grading Percents Frequency
8 Labs 10% Lab1: MON (11th) or WED (13th);
others TBA
Homeworks 15% HW1: due MON, Sept 11;
others TBA
8 Quizzes 35% Q1: WED, Sept 13;
others TBA
HTML project 5% TBA
Excel project 15% TBA
JavaScript project 20% TBA



Honor Code Revisited: It goes without saying that all submitted work will be the student's own, in keeping with the Wheaton Honor Code, unless the assignment has assigned groups. For labs, you may get "help" from fellow classmates, but remember that all submitted work must be your own. Use discretion; don't ask your colleague for "the" answer or for lines of your program. However, I do encourage you to discuss the problem, in general. For homework, your answers and code must be your own from beginning to end. On the quizzes, you may not get help from anyone but the instructor.

Policy on Late Assignments: It is your responsibility to make sure that I receive your assignments on time. I have very strict policies on accepting late work: no late work may be submitted (unless of course you have a documented reason).

You may or may not finish the lab during the scheduled lab meeting. If you do finish the lab, you will receive the full grade, assuming of course that your work is correct!!! If you come to lab but do not finish, you will receive one-half of the grade. However, if you finish the lab by Friday of that week, drop it into the respective dropBin and/or show me your finished work, then you will receive the full grade.

Again, no late work will be accepted. All electronic submissions are to be dropped to the appropriate dropbin or be available via your homepage. In addition, for some lab assignments, a laser-printed, stapled hardcopy of your documented program (or paper) must be handed in to the instructor.


HOMEWORK
It is expected that you spend at least 3 hours on reading and practice problems for every 90 minutes of lecture. This computes to at least 6 hours of work in the text, reviewing your notes, and/or reading online help per week. This should be done throughout the semester and not just when studying for quizzes. The material is cumulative in a big way; for example, week 3 of Excel depends heavily on the first two weeks.

It is expected that you spend at least 6 hours per week on your current assignment. WARNING: Programmers typically underestimate the time it takes to complete a software project; 6 hours per week on your programming assignment may be one of those "underestimations."


LABS
The labs are a critical part of the course. Each lab is intended to set you up for the next homework or project. The bottom-line -- you just have to make every lab.

In order to best grasp the material presented in the lab, I strongly suggest that you completely redo any labs that you find difficult. (Read that last sentence again, unless of course you've already reread it once).


QUIZZES
You will be quizzed on certain topics at irregular intervals, e.g., you will take a series of quizzes as we work our way through the Excel material.

There will be no makeups, nor will the lowest quiz be dropped. If you are an athlete and/or you have a conflict on a certain date, please see me within the first week of classes.


PROJECTS
For each of the tools studied, you will work on one "large" problem. This is where your creative energies can augment your newly acquired skills. I will be looking for original solutions and the professional, neat presentation of that work.


HELP
I have listed my office hours on the syllabus. But you know I'm always near a keyboard! Don't let this material bury you. Study, study, study and talk about it with me and others as often as you can.


Please don't wait too long before you see me;
a quick chat in my office can often clear things up.
I'm here alot...

Textbooks  |  Course Details  |  Grade Percents  |  Labs  |  CS Home



Maintained by Mark LeBlanc
Banners by David Dudek, 01
This course was built on equipment from NSF DUE-9751660.
Last Modified on