CS2a: Introduction to Computers
Course Description
An introduction to the basic principles underlying computer hardware and software and to the implications of the wider use of computers in society. Topics will include hardware, software, Web page design, applet and servlet programming, the Internet, privacy and security issues, as well as a survey of current research directions, including artificial intelligence and parallel computing. This summer we will focus on web programming as the central theme and we will learn how to create sophisticated web applications that take information from the user via HTML forms and use that information to send email, interact with databases, and generate response pages. This course has no prerequisites and we assume no prior background with computers.
Rough Syllabus
- Week 1:
The architecture of the web (DNS/HTTP/HTML/CSS)
- Week 2: Interactive webpages (servlets and applets)
- Week 3: Persistence: Database and the web (SQL, Session variables, Email)
- Week 4: Web Applications:
- Week 5: Hardware, Final Project Presentations
- Final Exam
Useful Links
Grading
40%
Final Project
30%
Final Exam
20%
Homework
10%
Quizzes
Homework Assignments
Class resources
Using the Brandeis Servers
Language Reference Sites
-
CSS reference pages:
-
HTML reference pages:
Week 1
Monday 6/2/2008
Today we provide an introduction/overview of the class and we start
learning how to create static webpages using HTML and CSS. There will
be a homework assigned Tuesday due Thursday, and one on Thursday
due the following Monday.
Readings on HTML/CSS
Tuesday 6/3/2008
Topics to discuss:
- Validation of HTML/CSS
- Use of div/span
- Class and ID attributes
- CSS for positioning: static, absolute, fixed
- HW1 - Create a webpage using HTML/CSS we've learned
Readings on HTML/CSS
Thursday 6/3/2008
Guest lecturer: Ross Schaull, PhD candidate in Computer Science at Brandeis
Topics to discuss:
- Look over Homework 1 solutions and problem areas
- Architecture of the Internet
-
HTML forms as the first step in writing interactive webpages
Readings
Week 2
Monday 6/9/2008
Today Alex Plotnick gave an introduction to the Scheme programming language.
Thursday 6/11/2008
-
Creating ol and ul lists and tables using Scheme
-
Creating and using page templates
-
Using map to generate custom HTML from Scheme lists (and examples of page template use)
Week 3
Monday 6/16/2008 - SQL and Database programming
Useful Links:
Tuesday 6/17/2008 - More SQL and Database programming
Useful Links:
-
Using Auto_increment columns
-
Building a website with Login/Register features
-
Review for quiz on HTML/CSS. Discuss hyperlinks into the middle of pages and
using rowspan/colspan to create multi-row/multi-column cells in tables.
-
Go over q1,q2,q3,q4 from the
CS2a/Spr06 quizzes.
-
Discuss HW4
Thursday 6/19/2008 - More SQL and Database programming
Useful Links:
-
Completing the Login/Register servlets
-
Discuss HW5 and the Final Project
-
Quiz on HTML/CSS.
Week 4: Web Applications
Monday 6/23/2008 - Intro to Web Applications
Tuesday 6/24/2008 - More on Web Applications
-
Complete installation of jscheme web server with mysql on a Mac
-
Installation of jscheme web server with mysql on PC
-
use of tryCatch to handle errors more nicely ... here is an example:
run it or
see source code
-
Go over Final Project and have people present their ideas
-
Discuss Quiz on Thursday that will cover HTML forms, positional CSS, and servlets that send email.
-
Start work on Final Projects in class. Students will present/describe their work at the beginning
of every class from now on...
Thursday 6/26/2008 - Group work on Final Projects
-
Each group reports on their progress so far, their goals for the project, their goals for today, and then
answers questions from the class
-
We work on Final Projects and do group debugging
-
The last 45 minutes will be a quiz on servlets that send mail.
Week 5: PC architecture and Final Projects
Monday 6/30/2008
-
Start with group reports on the final projects
-
Next, introduce new material on computer architecture and operating systems
-
Continue working on final projects with group debugging
-
Quiz on database-backed servlets (like parts of hw5)
Tuesday 7/1/2008
-
Presentations of Final Projects
-
Overview of other technologies from the language level (PHP, Python, Perl, Java, ...)
to content management systems (Drupal, Zope, ...)
-
Review for Final Exam
Wednesday 7/2/2008
1:00-4:00
FINAL EXAM
in Farber cluster. The exam will require you to write several webpages and servlets using the
techniques discussed in class and that you have applied in your homeworks and final project.
and this is the end of the class!