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:
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
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."
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.
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)
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).
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.
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).
Reference:
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.