CPS 1: Computer Science Fundamentals Vijay Abhijit 17th May, 2001
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 : [email protected] OR
[email protected]– Ph : 660 - 4007– 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: 684-8832
Administrivia
• Read webpage regularly– http://www.cs.duke.edu/education/courses/summer01/cps001
• 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
Course MechanicsMechanics (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, 2000.
– 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 email! ([email protected] OR [email protected]) [due Fri, May 18, 11:59pm]
– 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. (<TAG>)– eg: <TITLE> The Human Tornado </TITLE>– 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 <TITLE> The Human Tornado </TITLE> 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 http://www.w3.org/markup/guide
• In lab you will create a webpage