CPS 1: Computer Science Fundamentals Vijay Abhijit 17th May, 2001
Many thanks to Prof Jeff Forbes and Prof Dietolf Ramm for slide content !!!
Welcome! Computer Science Fundamentals : CPS 1 D106, Levine Science Research Center — M, T, W, Th, F 2:00 - 3:15 Lab 130 North Building — T, Th 3:20 - 4:20 Instructor: Vijay Abhijit
Getting Help! Contact Information –Vijay Abhijit : OR –Ph : –Office Hours at 07 North Building Mon : 3:20 - 4:30 Wed : 3:20 - 4:30, or by appointment Peer Tutors –Peer Tutoring Office, 217 Academic Center, East Campus, Ph:
Administrivia Read webpage regularly – Read newsgroup –news:duke.cs.cps001 On webpage you will find: –Assignment information –Syllabus and timetable –Handout of slides
Today’s Topics Who is this guy talking to us? What is this course about? How are we going to learn it? Where do we go from here? –A peek into the world of HTML...
Course Mechanics What is the prerequisite? –High School Algebra (?) How does this course fit into the curricula? –A survey, service course designed for non- majors –CPS 4 and 6 are more programming oriented
Mechanics Course Mechanics (contd.) Study Material –Text Books Course Pack (available from Book Store) Great Ideas in Computer Science by A. Biermann, 2nd ed, MIT Press, 1997 OPTIONAL: Programming.Java by R. Decker and S. Hirshfield, 2nd ed, PWS, –Handouts
Course Mechanics (contd.) Flat grading (no marking on curve) –Programs, problems 25% –Programming test (in last lab. meeting) 10% –Project 15% –Quizzes 15% –Mid Term Exam 15% –Final Exam 20% –Class Participation
Assignment 0 Send me ! ( OR ) [due Fri, May 18, –Your name –Major –Class [Fresh / Soph / Jun / Sen / Grad] –Box at home? [PC / Mac] – Programmed before? [Never / Basic / Pascal / HTML / Java / C++ / C / Other] –What would you like to learn from this course?
On the subject of questions Did you ask any good questions today? –Questions which illuminate help nourish ideas –Children are born curious –Fear of public displays of ignorance prevents learning Participate in class Go to office hours Make study groups with your classmates
Quotations about Computer Science “Computer Science has such intimate relations with so many other subjects that it is hard to see it as a thing unto itself” –Marvin Minsky, 1979 “It has often been said that a person does not really understand something until he teaches it to someone else” –Donald Knuth “Actually a person does not really understand something until he can teach it to a computer” –Judith Gal-Ezer and David Harel
Survey the Field Artificial Intelligence Graphics / Multimedia Programming Languages Systems & Architecture Theory Parallel Computation
Precise, Logical Thinking Breaking down a task into unambiguous steps Computers are deterministic Debugging –Programs will rarely work the first time one writes them –Systematic approach to detecting, diagnosing and fixing errors –Debugging skills are useful in many parts of life
First Bug!
The User Applications Programming Languages Operating Systems Machine Architecture Circuits Physics Layers of Abstraction
The Web and HTML! Lots of computers connected together in a collection of networks Internet started in 1969 as DARPAnet –To survive a nuclear attack by the USSR –4 computers in 1969, millions today…
The Web and HTML (contd.) HTML (Hyper Text Markup Language) is a common formatting language for the web Hypertext (from the Webopedia) –A special type of database system, invented by Ted Nelson in the 1960s in which objects (text, pictures, music, programs and so on) can be creatively linked to each other Hypertext is the idea of a link or a reference
HTML HTML uses “tags” Tags are unprinted, formatting markers –Identified by angle brackets i.e. ( ) –eg: The Human Tornado –NOT case sensitive Most people don’t write HTML –Save as HTML in Microsoft Word –Netscape Composer/ Microsoft Front Page
Delimiting with Tags First tag says “Begin Mode” Second tag says “End Mode” So The Human Tornado means: –Begin TITLE mode –The text “The Human Tornado” is in TITLE mode –End TITLE mode
Delimiting with Tags (contd.) Using these constructs we can nest several different modes and have really interesting behavior Good tutorial on HTML at In lab you will create a webpage