CS 2200 Lecture 01 Introduction - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

CS 2200 Lecture 01 Introduction

Description:

(Lectures based on the work of Jay Brockman, Sharon Hu, Randy Katz, ... Favorite ice cream: Chocolate brownie sundae. Croutons or Bacon Bits: LOTS of croutons ... – PowerPoint PPT presentation

Number of Views:222
Avg rating:3.0/5.0
Slides: 62
Provided by: michaelt8
Category:

less

Transcript and Presenter's Notes

Title: CS 2200 Lecture 01 Introduction


1
CS 2200 Lecture 01Introduction
  • (Lectures based on the work of Jay Brockman,
    Sharon Hu, Randy Katz, Peter Kogge, Bill Leahy,
    Ken MacKenzie, Richard Murphy, and Michael
    Niemier)

2
Some initial questions
  • How many of you are taking this class because
    youre genuinely interested in the subject
    matter?
  • How many people are CS majors?
  • (How many people are going to change majors?)
  • Hopefully none b/c of this class!
  • How many people are CS majors because they enjoy
    CS?
  • (How many are using it as a stepping stone to
    become rich and powerful and take over the
    world?)
  • (you can answer yes to both ?s ?)
  • Dont forget those answers! Well be back to
    them later!

3
More initial questions
  • See attached handout
  • Name
  • What CS discipline do you want to specialize in?
  • What do you want to learn in this course?
  • Please attach or copy a picture
  • Birthday
  • Favorite color
  • Favorite salad dressing
  • Favorite sport to watch
  • Favorite type of music
  • Favorite ice cream
  • Croutons or Bacon Bits
  • Please fill out and return in a week itll help
    me get to know all of you.

4
My answers
  • See attached handout
  • Name Michael Thaddeus Niemier (Nee my er)
  • What CS discipline do you want to specialize in?
  • Computer architectures for nano-scale devices
  • What do you want to learn in this course?
  • How to integrate ideas from various schools into
    this class
  • Please attach or copy a picture
  • Birthday 05/24/1976
  • Favorite color Green
  • Favorite salad dressing Ceaser
  • Favorite sport to watch College Football
  • Favorite type of music Soundboard quality live
    U2 concerts
  • Favorite ice cream Chocolate brownie sundae
  • Croutons or Bacon Bits LOTS of croutons

5
Fast, random transition 1
  • Logistics
  • Instructor (a.k.a. me)
  • Michael Niemier
  • Research interests computer architecture of
    nano-scale devices
  • Any ?s about me?
  • Office
  • 219 CCB
  • Office hours
  • Tues./Thurs. 300 430
  • Also by appointment
  • E-mail
  • mniemier_at_cc.gatech.edu
  • (Unfortunately I get a TON of email. As I dont
    want to miss yours, for any class ?, please put
    CS 2200 at the beginning of the subject line.
    Thisll make sure I answer your ? as soon as
    possible)

6
More logistics
  • Bill Leahy
  • Office CCB 121
  • Office Hours
  • Tues/Thur 430 - 600
  • and by appointment
  • Email bleahy_at_cc.gatech.edu

7
Logistics continued
  • Course highlights
  • Test 1 and Test 2 2/5/04, 3/25/04
  • Final exam TBD, please consult OSCAR
  • Grade breakdown
  • Homeworks 10
  • Projects 30
  • Test 1 20
  • Test 2 20
  • Final Exam 20
  • (FYI grade breakdown is essentially the same for
    both sections)
  • (Tests, HWs, projects, etc. will also be the
    same)
  • Course website
  • http//www.cc.gatech.edu/classes/AY2004/cs2200_spr
    ing

8
CS 2200 rules and regulations (1)
  • Academic misconduct is taken very seriously in
    this class
  • We will analyze what you turn in against other
    students submissions in the current semester as
    well as previous semesters
  • You are required to do your own work without
    looking at other students code no matter what the
    source is
  • You are also expected and required to report any
    incidents of academic misconduct to the course
    instructor or to the Dean of Students responsible
    for Academic Misconduct
  • Failure to do so is in itself Academic Misconduct

9
CS 2200 rules and regulations (2)
  • You are responsible for turning in assignments on
    time. (see note)
  • This includes allowing for unforseen
    circumstances.
  • You are also responsible for insuring that what
    you turned in is what you meant to turn in.
  • WebWork includes a getback feature
  • This allows you to retrieve exactly what you
    submitted and insure that it works.
  • Take advantage of this feature!
  • In general, programming assignments should be
    turned in with a Makefile and all files needed to
    compile and run the program.
  • The TA grading your submission should be able to
    make and run your program without adding files,
    repairing things, etc.

10
CS 2200 rules and regulations (3)
  • Tests and examinations must be taken at the
    scheduled date and time.
  • Please do not ask for special treatment because
    you (or your parents) have purchased
    non-refundable airline tickets.
  • The safe time to travel is at the end of or after
    finals week.
  • The finals schedule published at the beginning of
    the semester is TENTATIVE.
  • The official schedule gets published very late in
    the semester
  • (Id actually like to be nice about this but I
    promise you, I have NO control over it!)
  • Brief interlude ND undergrad story

11
CS 2200 rules and regulations (4)
  • If you need a certain grade in order to stay in
    school, maintain a scholarship, etc. the time to
    worry about this is right from the beginning of
    the course not during the week before finals.
  • Grades are based on demonstrated performance not
    individual need based on factors external to the
    course.
  • Please do not request special consideration based
    on this type of situation
  • Final grades will be available from OSCAR
    normally sometime the week after finals.
  • You may review your final and discuss your grades
    during the following semester in which you are
    attending Georgia Tech.
  • Grades will not be discussed over break

12
CS 2200 rules and regulations (5)
  • If you have any personal problems
    (family/illness/etc.) please go to the Dean of
    Student's (Gail DiSabatino) office located in the
    Student Services Building (Flag Building) next to
    the Student Center.
  • She is equipped and authorized to verify the
    problems and she will issue a note to all your
    instructors making them aware of the problem and
    requesting whatever extension, etc. is necessary

13
CS 2200 rules and regulations (6)
  • The .announce newsgroup should be read every day.
    Official announcements about course matters will
    be posted there.
  • The general course newsgroup is for posting
    technical questions about assignments, tests etc.
  • Complaints, questions about your personal
    problems, etc. should be discussed with your
    instructor in person or via email

14
CS 2200 rules and regulations (7)
  • Out of consideration to your fellow students
    please turn off cell phones, beepers, wristwatch
    alarms, etc.
  • Also, make every effort to be on time for class.
  • If you unavoidably late, please sit near the back
    and try to avoid as much disruption to the class
    as possible
  • If you are graduating and need this course to do
    so please inform your instructor as soon as
    possible
  • Complaints about any aspect of the course should
    be directed to the course instructor during
    office hours or via email.

15
CS 2200 rules and regulations (8)
  • The deadline for regrades is 2 weeks after an
    assignment grade is posted or returned to you.
    This deadline also applies to picking up items
    which are returned in class. After this deadline
    no grade changes will be made and tests not
    picked up will be destroyed

16
Other admin stuff
  • Historically CS2200 has run all projects on acme
    (Solaris).
  • Our beloved course owner Kishore Ramachandran
    has purchased us a new Linux server just for
    CS2200!
  • Introducing turku.cc.gatech.edu
  • What does this mean?
  • You need a CoC account
  • Projects must run on Red Hat 9.0 Linux

17
More admin stuff
  • If you have an active CoC account do nothing!
  • Example changailey_at_cc.gatech.edu
  • If you already have a CoC account and it's
    inactive
  • You need to go to CNS (CCB 140) and get it
    reactivated
  • If you have never had a CoC account request one
    via the web http//www.cc.gatech.edu/cns/forms/a
    ccount_form.html

18
Fast, random transition 2
  • Where does this class fit into a CS curriculum at
    GT?

CS 2200
Systems
Networks
You are here!
19
Freshman year Fall semester
  • ENGL 1101 (3)
  • MATH 1501 (4)
  • Calculus I
  • Differential calculus and basic integral calculus
    including the fundamental theorem of calculus,
    including the underlying theory of limits for
    functions and sequences.
  • Lab Science
  • Could be BIOL 1510, BIOL 1520, CHEM 1310, EAS
    1600, or EAS 1601
  • History/Constitution
  • Could be HIST 2111, HIST 2112, POL 1101, PUBP
    3000, or INTA 1200
  • CS 1321
  • Introduction to Computing
  • Foundations of computing with an emphasis on the
    design, construction, and analysis of algorithms.
    Laboratory-based instruction to computers and
    software tools.

20
Freshman year Spring semester
  • ENGL 1102
  • MATH 1502
  • Calculus II
  • This course concludes the treatment of single
    variable calculus, and begins linear algebra --
    the linear basis of the multivariable theory.
  • Wellness
  • HPS 1040, 1062, 1063, or 1064
  • CS 1050
  • Constructing Proofs
  • Techniques of rigorous argumentation, emphasizing
    reading and writing of formal and informal
    proofs. Application of techniques to domains of
    relevance to computer science.
  • CS 1322
  • Objected Oriented Programming
  • Introduction to techniques and practices for
    implementing algorithms. Emphasis on professional
    software practices. Projects focus on interactive
    and computationally intensive programs, including
    large program management.

21
Sophomore year Fall semester
  • Humanities I
  • MATH 2605
  • Replaces Calculus III
  • Topics in linear algebra and multivariate
    calculus and their applications in optimization
    and numerical methods, including curve fitting,
    interpolation, and numerical differentiation and
    integration.
  • CS 2130
  • Languages and Translation
  • Introduces issues of machine translation
    including tokenizing, parsing, data
    representation, and run-time environments.
    Discusses implementation of programming
    languages. Laboratory exercises cover tools and
    techniques for writing parsers and translators.
  • ECE 2030
  • Introduction to Computer Engineering
  • Computer system and digital design principles.
    Architectural concepts, software, Boolean
    algebra, number systems, combinational datapath
    elements, sequential logic, and storage elements.
    Design of DRAM control and I/O bus.

22
Brief interlude
  • CS 2130
  • Why eventually SW actually has to make the
    computer do something and it actually has to talk
    to the microprocessor
  • This course provides fundamental knowledge of how
    that happens also talk about C programming,
    UNIX, etc.
  • ECE 2030
  • Why if the above course talks about SW, here we
    learn about HW that will eventually have to be
    controlled, how a computer computes, etc.
  • Provides lots of fundamentals for this course,
    the future
  • So, we have

Digital Logic
CS 2200
SW
Fortran
Java
C
23
Sophomore year Spring semester
  • Humanities II
  • MATH 3012
  • Applied Combinatorics
  • Elementary combinatorial techniques used in
    discrete problem solving counting methods,
    solving linear recurrences, graph and network
    models, related algorithms, and combinatorial
    designs.
  • CS 2200
  • Systems and Networks
  • A broad exposure to computer system structure and
    networking including software abstractions in
    operating systems for orchestrating the usage of
    the computing resources.
  • CS 2335
  • Software Practicum
  • Methods for solving large programming problems.
    Techniques for quality assurance, managing
    programs, working in teams, analyzing problems,
    and producing effective solutions.
  • CS 2340
  • Objects and Design
  • Object-oriented programming methods for dealing
    with large programs. Focus on quality processs,
    effective debugging techniques, and testing to
    assure a quality product.

You are here!
24
Junior year Fall semester
  • PHYS 2211
  • Physics I
  • Social Science I
  • CS 3500
  • Theory I
  • Computational machine models and their language
    classes. Decidability and undecidability. Data
    structures and efficient algorithms for
    fundamental computational problems. Tractability
    and intractability.
  • CS Specialization
  • Free elective

25
Another brief interlude
26
Junior year Spring semester
  • PHYS 2212
  • Physics II
  • CS 4001
  • Computing and Society
  • Examines the role and impact of information and
    communication technology in society, with
    emphasis on ethical, professional, and public
    policy issues.
  • LCC 3401
  • MATH 3215
  • Introduction to Probability and Statistics
  • This course is a problem oriented introduction to
    the basic concepts of probability and statistics,
    providing a foundation for applications and
    further study.
  • CS Project
  • CS 3351, CS 3901 or CS 3911
  • CS 3351 Studio Project
  • A project-oriented laboratory course used to
    familiarize students with software engineering
    methods in a realistic environment.
  • CS 3901 Research Project
  • Individual investigation of significant areas of
    computer science. Guided study and research.
  • CS 3911 Design Project
  • Intensive team-based project experience in the
    specification, design, and implementation of
    software and/or hardware for subsequent use in
    research, industry, and teaching.
  • Social Science II

27
Senior year Fall semester
  • Free Elective
  • Free Elective
  • Social Science III
  • CS Specialization
  • CS Specialization

28
Senior year Spring semester
  • Free Elective
  • Free Elective
  • Free Elective
  • CS Specialization
  • CS Free Elective

29
The top of the pyramid
  • 1st 2 years provide fundamental knowledge, base
    of the pyramid
  • Next 2 years allow for specialization
  • Form the top of the pyramid
  • How?
  • Im glad you asked!
  • Lets talk about a Playstation 2

30
Where does this class really fit in?
  • Lets look at a case study
  • In past CS 2200s, case study was a video game
  • Time the future
  • Place the Karaq Wastes
  • Action immediate
  • How does all of the following happen?
  • Not surprisingly, Im about to tell you that this
    class plays a big part

31
(No Transcript)
32
(No Transcript)
33
(No Transcript)
34
(No Transcript)
35
(No Transcript)
36
(No Transcript)
37
But
  • I have to say that Doom type of games arent my
    style so lets change that first to
  • College football baby!
  • (the only reason I bought a Playstation2)
  • That said, lets talk about NCAA Football 2004

38
Screenshot 1
How do you make a player run where you want
to? Or taunt the other team?
39
Screenshot 2
How do you add fun features like night day,
rain snow?
40
Screenshot 3
How can you easily play a game from the 30s or
40s?
41
Screenshot 4
How can you easily play a game entirely of
mascots?
42
Screenshot 5
How could youever play a game with Georgia???
43
Again, how do you
  • allow for different player movements?
  • have mascots play against each other?
  • easily have different uniforms from different
    eras?
  • easily allow for different camera angles?
  • have game announcers refer to players by name?
  • change the weather in a game?
  • allow for multiple players?
  • have movement on screen match a users input?
  • Lets look at different levels of a game

44
Level 0 the game
  • Whats involved?
  • 3D graphics
  • Mouse/keyboard/control
  • Stereo sound
  • Computer players
  • Fight songs
  • Uniforms
  • Tradition
  • Game starts at a high level
  • Concept
  • Storyboards
  • Programmers
  • Artists
  • HCI experts
  • Why the PS2 controller is so complex
  • Sound experts
  • Crowd chants, etc.
  • Actors
  • Animators
  • Playtesters

All things we have to make happen so
  • We can physically play the game
  • We can make the game fun

45
Level 1 application
  • Almost a cooks tour of CS disciplines
  • Visualization
  • Graphics
  • User interaction / human computer interaction
  • Artificial intelligence
  • State machines
  • Databases
  • Playing against other people remotely
    (networking)
  • Game creation
  • Sound

All things needed to make the game happen
(Usually done in SW)
1
2
3
(i.e. going from action to play select)
4
5
6
(actual game play requires HW)
46
Level 2 systems
  • Runtime system
  • Procedure call/return mechanisms
  • Memory allocation
  • Middleware
  • Middleware is connectivity SW that consists of a
    set of enabling services that allow multiple
    processes running on one or more machines to
    interact across a network
  • (i.e. something that helps you play against your
    friends in different cities ?)
  • Also, say your stuck in this class, but you
    really want to be a programmer
  • Understanding 1-level down will help you be a
    better programmer!!!
  • Also, if not programming graphics, could write SW
    that allows HW components to interact more in
    this class!!!

Cant access CD in real time
47
Level 3 operation system
  • Resource manager
  • Processor(s)
  • Memory
  • I/O devices
  • Etc.

Physical HW to make your PS2 work also more in
this class!
48
Level 4 compilers
  • Compilers are a bridge between
  • High-level languages
  • Runtime
  • OS
  • Have you done much with compilers besides using
    them?

49
Level 5 Hardware
50
Remember this chart?
  • CS 2200 is one of the springboards to your chosen
    path of study

Lets explore this area
51
CS specializations (1)
  • In COC, I think you take 4 classes from 3 areas
    and can expand with free elective sequence
  • Computer Systems
  • CS 3210 Design of Operating Systems
  • CS 3220 Comp. Struct. HW/SW Co-design of a mP
  • CS 4210 Advanced Operating Systems
  • CS 4220 Programming Embedded Systems
  • CS 4230 Distributed Simulation Systems
  • CS 4240 Compilers, Interpreters, Program
    Analyzers
  • CS 4290 Advanced Computer Organization
  • Graphics and Visualizations
  • CS 4451 Computer Graphics
  • CS 4455 Video Game Design and Programming
  • CS 4480 Digital Video Special Effects
  • CS 4495 Computer Vision
  • CS 4496 Computer Animation

52
CS specializations (2)
  • Intelligent Systems
  • CS 4600 Introduction to Intelligent Systems
  • CS 4495 Computer Vision
  • CS 4610 Knowledge Systems
  • CS 4611 AI Problem Solving
  • CS 4612 AI Planning
  • CS 4631 Intelligent Robotics and Perception
  • CS 4641 Machine Learning
  • CS 4650 Natural Language Understanding
  • CS 4752 Philosophical Issues in Computation
  • Usability
  • CS 4750 Human-computer interface design eval.
  • CS 4470 Introduction to User Interface SW

53
CS specializations (3)
  • Data Management Systems
  • CS 4400 Introduction to Database Systems
  • CS 4420 Database Systems Implementations
  • CS 4440 Emerging Database Technologies Apps
  • Educational Technology
  • CS 4660 Introduction to Educational Technology
  • CS 4665 Educational Technology Design
    Evaluation
  • CS 4670 Computer-supported Collaborative
    Learning
  • Software Engineering
  • CS 3300 Introduction to Software Engineering
  • CS 4320 Introduction to Software Processes
  • CS 4330 Software Engineering Applications

54
CS specializations (4)
  • Networking and Telecommunications
  • CS 3251 Computer Networking I
  • CS 4251 Computer Networking II
  • CS 4255 Intro. to Network Management
  • CS 4260 Intro. to Telecommunications Systems
  • CS 4270 Data Communications Laboratory
  • Theory
  • CS 4500 Theory
  • CS 6505 Computability, Algorithms and
    Complexity
  • CS 6520 Computational Complexity Theory
  • CS 7510 Graph Algorithms
  • CS 7520 Approximation Algorithms
  • CS 7530 Randomized Algorithms

55
A 1 page case study
  • So, you want to be a video game designer
  • Intelligent Systems
  • CS 4611 AI Problem Solving
  • CS 4612 AI Planning
  • Graphics and Visualizations
  • CS 4451 Computer Graphics
  • CS 4455 Video Game Design and Programming
  • Usability
  • CS 4750 Human/computer interface design
    evaluation
  • Software Engineering
  • CS 3300 Introduction to Software Engineering
  • Computer Systems
  • CS 3220 Comp. Struct. HW/SW Co-design of a mP
  • (so SW actually works with the chipset for the
    Playstation 7)

56
What well cover here
  • Broad exposure to computer systems
  • Organization of the processor
  • Memory hierarchies
  • Storage devices
  • Parallel processors
  • Networking hardware
  • SW abstractions in the OS for orchestrating their
    usage
  • Networking protocols to connect the computer
    system to its environment
  • Major topics
  • Processor, Memory Hierarchies, I/O Subsystems,
    Parallel Systems, Networking

57
A summarizing picture
CS2130, CS1xxx,
ECE2030
58
Power of Abstractions
  • Confine your work to one abstraction layer
  • Avoid having to understand other layers.
  • This does NOT mean that you only have to
    understand 1 layer!
  • Interfaces persist across implementations
  • Good abstractions last a long time.
  • So do bad ones, unfortunately.
  • But you have to know the limits
  • Newtonian physics
  • wire delay

59
Purpose of CS2200
  • 1. Complete the layers of computer abstractions
  • set the stage for more work at any layer
  • know the overall structure in the event of a
    20-year overhaul
  • 2. At minimum, a tour of the two layers below
  • add strength to any CS specialization.
  • 3. Bag of trix
  • OS, architecture, networking abstractions
    reappear in applications.
  • These are some of the most time-tested
    abstractions in CS

60
Summary
  • We asked some initial ?s
  • We went through some logistics
  • I showed you where this class fit into the GT CS
    curriculum
  • We went through a video game case study
  • and said to hell with Georgia!
  • We showed how this class could be a springboard
    for whatever CS interest or career you want to
    pursue
  • We introduced material that will be covered in
    this class and the idea of abstractions
  • Are there any questions?

61
Finally, a quiz
  • Dont worry, it doesnt count!
  • We just want to figure out where the class is
    starting at
Write a Comment
User Comments (0)
About PowerShow.com