NOTE:  Projects are listed with the most recent at the top.

                              The Syllabus for the course is found below Project 1.

 

 

Assignment #3 - due Mon. Oct.17, 2005.

Topic: What you like best about Simmons College

Audience: 17-18 year old high school girls or potential Dix scholars

Organization:

    • A main page with links to 2 subtopics.
    • Each sub-topic has links to 3 pages with sub-sub topics.
    • Each page should have links to the page it came from (i.e. from the subtopic to the main page, from the sub-sub-topic to its subtopic).
    • It is nice for the sub-topic pages to have links to each other and for the sub-sub-topic pages to have links to the other pages within the same subtopic. (Recall the picture on the board in class on Friday).
    • This project should be in a folder named SimmonsBest. The opening page should be index.html
    • You should post the project on your website and email me a link to the project.
    • Be sure to test your project after you put it up.  That will help you find faulty links.
    • Your site should have a consistent feel - in terms of colors, fonts, navigation and images. The site should be easy to read and to navigate.

For example:

If your site is about New England, and your two subtopics are Mass. and Maine, then

there would be links from New England to Mass. and back;
there would be links from New England to Maine and back; and
there would be links between Mass. and Maine.

If your sub-sub-topics (for each state) are Economy, Politics, and Recreation:

then each page Mass-Economy, Mass-Politics, and Mass-Recreation would have links to the other 2,
and, of course, back and forth to the Mass. page.

The same would be true for Maine.

 You may find it useful to remind yourself of the Guidelines for Building Good Web Sites

 

 

 

Assignment #2: Paper
Paper due:  Friday Oct. 7, 2005
                 NO LATE SUBMISSIONS

Submit by: Email or hard copy

Length: 2-3 pages

Audience: This paper is to be written for the marketing committee of a company or organization which is considering putting up a web site.
                You should reference any material (including web sites) that you have used, especially material on usability criteria.

Subject:  The paper should begin with a short description of  a few (2-4) of the major determinants of web site usability.
              After those determinants have been explained briefly you should then move to a critique of 2 or 3 of the company's competitors' web sites.
               Please note that a critique may include praise as well as criticism.
               Normally (in the real world) you would then move on to your own suggestions for design of the audience's site, but you will not be doing that in this paper.

Optional:  You may include comments about the esthetic quality, consistent "look and feel" etc.  of the competitors' sites; if you do comment on design issues, you must still critique the sites' usability  (i.e. your paper will be a little longer than otherwise.)

Optional: You may include general suggestions about the "look and feel" of your audience's site-to-be.

 

 

HW PROJECT 1 – DUE Mon. Oct. 3, 2005

FIRST PART OF THE HW PROJECT TO BE HANDED IN:

Using tables you are to make a page which has your schedule for this semester. The schedule will have 7 columns (one for each day of the week) and at least 3 rows (for morning, afternoon and evening – you may divide your time more finely if you wish.)

Please use one color background for, Mon. Wed. Fri., another color for Tues. Thurs, and a third color for Sat. and Sun.

Please choose browser safe colors which are pale (so as not to interfere with easy reading) but may be told apart from each other.

Please name the file Sched.html

 

SECOND PART OF THE PROJECT TO BE HANDED IN

 

You have now produced two pages which tell me about yourself --- the “about me” page and the schedule.

 

You should correct the “about me” page so that it is grammatical and has no typos.  Please also rename it AboutMe.html

 

Put both pages in the same folder and put a link from each page to the other.

 

 

 

 

 

THE SYLLABUS

 

Syllabus CS101 www.computing.you                                                      Fall 2005

 

Texts:  Moncur SAMS Teach Yourself Javascript  in 24 Hours (JS)

            Xeroxed notes for the course

           

Instructor: Margaret Menzin
                   Office in S209; phone (617) 521-2704; email menzin@simmons.edu
                   Office Hours: MWF 7:30-8:00

  M 10:00-1:30

  W 10:00-3:30

  F  10:00-11:30 and 12:30-2:30
 and also by appointment.

 Note: I normally eat lunch at 12:00 or 12:30, but can move that to meet you in the middle of the day

                   Home phone (781) 862-5107; alternate e-mail menzin@comcast.net

Note: There is no class on Wed. Oct. 5, 2005.  This class will be made up.

 

Philosophy of the Course:

The aims of this course are to introduce you to the major ideas in computing, to learn how to write programs to run on the world wide web pages, and to write programs which allow you to model and explore quantitative problems drawn from a variety of fields. 


The course is run as a combination of lecture, demonstration and hands-on lab.  Each of you is registered for one lab section (Monday 1:30-3:00 or 3:00-4:30) and all the “regular” classes (Monday, Wednesday and Friday from 9:00-9:50 – which will include a mixture of lab, demo and lecture). It is very important that you be present at all the meetings (one lab + 3 regular classes a week).  Depending on class size there may be some flexibility about which lab section you go to.

The material is a tremendous amount of fun, but also takes a lot of work.  Some of the work will be done in lab and class, but, of course, much of it will be done on your own.   At times you may be mystified / frustrated by a piece of code which “should” work but doesn’t.  Often, this is from some typo you made and can not see yourself.  I am happy to help you with that.  I’m pretty good at spotting those kinds of errors.  What I can not do for you is master the basic grammar of HTML and JavaScript.  Learning those details is something which you must do for yourself.  The payoff of creating your own site is terrific!

Please remember that no food is allowed in the computer lab (S251A.  On Fridays the Mathematics & Computer Science Department eats lunch at Bartol at 11:30 and we hope you will join us.  We’re a lively bunch, and there are usually lots of students who come.


Grades:  There are two (or three) tests, and the several programming projects which you will hand in, each of which has equal weight in determining your grade.  No project may be handed in late without prior permission.

 

Students with Disabilities: Reasonable accommodations will be provided for students with documented physical, sensory, systemic, cognitive, learning, and psychiatric disabilities. If you have a disability and anticipate that you will need a reasonable accommodation in this

class, it is important that you contact the Academic Support Center Director at 617-521-2471 early in the semester. Students with disabilities receiving accommodations are also encouraged to contact their instructors within the first 2 sessions of the semester to discuss their individual

needs for accommodations."

 

 

 

Unit 0 Introduction

There will be a very brief introduction to the main parts of a computer, what memory is, and how color on your screen is described, and then we will launch into HTML (Unit 1).

The material will be found in the lectures and references in the Library.  We will revisit this material at the end of the course.

 

Unit 1 HTML

Reference: Xeroxed notes and  reserve books. 

HTML is the language that is used to lay out web pages, insert pictures, and make links to other pages.

Absolutely essential tags (<HTML> <HEAD><BODY><H1>-<H6>< ! - - > to < - - >)

Lining up text - Paragraph, Break line, Center and Div tags; alignment attributes for paragraphs, headlines, divs and horizontal lines; blockquote and preformatted tags; horizontal rules with width, size and noshade attributes;

Colors and fonts - Bold, italics, underline, superscript and subscript tags; font tags with width, face, size and align attributes; color specification for fonts and backgrounds; don't blink; review  and relevance of material on graphics from Unit 1.

Lists - Unordered lists (plain and bulleted), ordered lists, and list item tags; lists within lists

Links - Anchor and hypertext reference tags; name attribute; relative and absolute addressing; how to organize and navigate in a web site.  A tree structure and introduction to data structures (lists, trees, arrays, types of variables and constants supported - e.g. integer, real, character, boolean..

Tables - Table, table row, table header and table data item tags with align and vertical align attributes; width and border attributes for tables; column span and row span attributes; tables within tables and using tables for layout.

Inserting graphics and the image tag.  Using an image for the link.

Frames  and framesets; when to use them and when not to; the ALT tag.

There will be assigned readings on web site design for the non-graphics-designer.

There will be a test part way through Unit 1 covering the material to date.  There will be several non-trivial projects in this unit (e.g. Colored weekly schedule; Navigation project; web-site of your own design on what you love best about Simmons)

 

Unit 2 Basic JavaScript

Reference (JS) Chapters 1-6 and 9.  Also D&L sections 6.1 and 6.2

JavaScript is a scripting (programming) langauge.  A JavaScript script goes inside an html page.  JavaScript provides the means for you to get information from your users and use that to change what the page does.  It is what makes your pages come alive.
Starting and ending the script.

Alert boxes.

Data types and types supported in JS. 

The Date and Math objects

Properties (attributes) vs. functions

Functions  - including where they should  be defined, where they are called, the return of a value and how it is captured. Built in functions - trig functions, rounding function, writing your own functions to round to a desired number of decimal places, random number generation, and generating a random integer between desired bounds.

Variables, prompt( ), parseInt( ) and parseReal( )

Debugging using the JavaScript console.

Strings with the associated built in functions

Array with the associated built in functions.  Sorting an array using my_array.sort( ) or your own comparison function (and why you need your own for integers).  Uses of arrays.

Getting control - if statements; writing boolean conditions

Repetition - for loops, while loops and do-while loops.  Nested loops.

There will be a test at the end of Unit 2 covering the material since the last test.  There will also be several non-trivial projects (e.g. several on rates of growth and decay).

 

Unit 3 Simulation

Reference (Xeroxed) notes handed.

In this unit we will focus on analyzing a problem so that we can simulate it using JavaScript.

We will do both deterministic (no probability) and probabilistic models. 

You will learn how to identify the relevant variables, write down the mathematical relationships, and simulate their processes in a program.

Several financial examples - saving for a downpayment on a house, saving using a savings account, savings using stocks (which usually go up, but sometimes go down), level of a medicine in your blood stream when you take the drug periodically, population examples, Markov processes, examples of number of boys and girls in each of 100 families, queuing theory simulations, gambling until you run out of time or money, with both small and jackpot payoffs.

The simulations will be designed so that the user chooses the values of the important variables and can run comparative simulations.

Some of the simulations we will develop together in class; you will develop in quite a few other  non-trivial examples as group projects  (many of the financial examples, a Markov process, the boys/girls example, and some gambling simulations).

In this unit you will also get a lot of practice in designing larger programs, and in writing reasonably complex loops.

 

 

Unit 4 Advanced JavaScript and Review

References: (JS) chapters 9, 10, 12-15. 

This unit provides an introduction to object-oriented and event-driven programming.  It provides an insight into contemporary programming methods, and also allows you to have fun with such things as changing an image when the user rolls her mouse over it.

The object hierarchy.  Attributers and functions associated with window, location, document, etc.

Two built in objects - Math and Date

with and self. 

Controlling new windows (e.g. pop-ups)

Event handlers  associated with objects- onMouseover onMouseOut, etc.; how event handlers support the object paradigm; using event handlers to generate rollovers, scrolling messages, etc.

Forms  - how to get and use complicated input from your users.

There will be a substantial project at the end of this unit (in lieu of a final exam).

 

 

 

Unit 5 How does it happen? Introduction to Computers and Computing

Reference: Readings from reserve books .

Note:  A lot of this material will be introduced as needed during the semester.  We will then review and extend it at the end of the course.

Architecture of a computer - Central processing unit (CPU), input and output devices, memory,  arithmetic and logic unit(ALU), registers, cache.  Bits, bytes and words.  Reasonable sizes for various forms of memory. 

Von Neumann machines. How data is represented - binary representation of  integers, ASCII encoding of characters, problems with other alphabets.  Powers of 2, and how they grow.

Fetch-Interpret-Execute cycle and simple examples of machine and assembly language.

Brief survey of computer languages -historical survey, interpreted vs compiled languages; procedural, functional and object paradigms; JavaScript vs Java

Broad types of software and what they do - operating systems, application packages, stand alone or dedicated programs.

Introduction to architecture of the Internet.

File trees and types of files.

Review of hardware issues for graphics:  Pixels, CRTs, how they are scanned, interleaving, resolution, file size and file compression (lossy and lossless), jaggies and dithering;  GIF and JPEG files;  8 bit vs 24 bit color, how long files take to download, and why files are compressed;   how to describe colors.  Test or incorporation of this material in final project for Unit 4.