CS 2200 Lecture 01 Introduction - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

CS 2200 Lecture 01 Introduction

Description:

CS 2200 Master. Some initial questions... CS 2200 Master. Bonus points. My new idea that I'm going to implement in this class ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 50
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 b/c its required?
  • 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 ?)

3
Me
  • Logistics
  • Instructor (a.k.a. me)
  • Michael Niemier (Mike)
  • Research interests computer architecture of
    nano-scale devices
  • Office
  • 220 CCB, phone (404)-894-1704
  • Office hours
  • Tuesday 1100 1230, Wednesday 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)

4
More logistics
  • Milos Pruvlovic
  • Office CCB 219
  • Office Hours
  • Tuesday/Thursday 130 300
  • Email milos_at_cc.gatech.edu

5
Random Admin
  • Web Page
  • http//www.cc.gatech.edu/classes/AY2004/cs2200_fa
    ll/
  • This lecture is on the web page!
  • Newsgroups
  • git.cc.class.cs2200.announce
  • git.cc.class.cs2200

6
Logistics continued
  • Course highlights
  • Test 1 and Test 2 9/16/04, 11/2/04
  • Final exam TBD, please consult OSCAR
  • Grade breakdown
  • Homeworks 10
  • Projects 30
  • Test 1 20
  • Test 2 20
  • Final Exam 20
  • (Tests, HWs, projects, etc. will also be the
    same)
  • Course website
  • http//www.cc.gatech.edu/classes/AY2004/cs2200_spr
    ing

up to a 3 bonus which can only HELP you to
be discussed soon.
7
A note on the different sections
  • Even though
  • there are 2 sections of this class
  • and you do the same HWs
  • and you do the same projects
  • you will not be compared to students in the
    other class when it comes to final grades,
    curves, etc.
  • (of course, I fully expect us to beat the other
    section in class average)

8
A note on the curve
  • A note on the curve
  • Grade cutoffs are calculated as follows
  • (sigma is the standard deviation)
  • A average sigma
  • B average (i.e. above average is a B)
  • C average - sigma
  • D average - 2sigma
  • (Note, Ill create a spreadsheet that you can use
    to calculate ESTIMATES of your grade youre
    welcome to sit down and do this calculation with
    me anytime)

9
Bonus points
  • My new idea that Im going to implement in this
    class
  • 1st, a note on class attendance
  • Id like you to come class
  • but I understand if you have another commitment,
    job interview, big project deadline in another
    class, are sleeping in, or just comprehend the
    material and decide your time is better spend
    elsewhere
  • (After all, its your money, and you can spend
    it as you please)
  • All of that said, from my experience, people who
    attend class generally do better than those who
    dont so Im going to provide some incentive

10
The incentive
  • Over the course of the semester Im going to give
    out 7-8 to quizzes in class.
  • Youll have about 20 minutes to work on them and
    then Ill collect and grade them
  • The quizzes will be very representative of HW
    and especially tests
  • (read if you can do the quizzes, youre
    PROBABLY in pretty good shape for the tests)
  • Also, as soon as youre done taking the quizzes,
    Im going to work out all of the problems on the
    board, in class
  • (read so if you dont understand everything,
    youll have something to study off of)
  • (and feel free to ask questions!)

11
The incentive (cont.)
  • Grading
  • This can only HELP your final grade
  • Basically, if there are 8 quizzes over the course
    of a semester gets you 1/8th of a percentage
    point tacked on to your final grade AFTER the
    curve for each quiz you take.
  • (i.e. if you just turn in 8 quizzes, and your
    final grade is a 78, you now have a 79)
  • If you make some reasonable effort on a problem,
    you get another 1/8th of a point tacked onto your
    final grade for each quiz taken
  • (i.e. if you turn in 8 quizzes, and make some
    relevant attempt at the problem, never get a
    problem right, and your final grade is a 78, you
    now have an 80).

12
The incentive (cont.)
  • You might see where this is goingfor every
    problem you get right on a quiz, you get more
    points tacked onto your final grade but no more
    than 1 total percentage point
  • (i.e. if you take every quiz and get every
    problem right, and you have an 78 at the end of
    the class, you now have an 81)
  • Will it help?
  • Last year, 3 people who got a B were within 0-3
    of getting an A after the curve they could have
    got As
  • Last year, 4 people who got a C were within 0-3
    of getting a B after the curve they could have
    got Bs
  • About 50 people received grades so about 15 of
    the class would benefit.

13
A note on projects
  • Heres 1 more new idea
  • The projects for this class generally span about
    3 weeks and often involve working with
    pre-written code
  • The TAs usually run a help session for each
    project
  • but its usually 1.5 weeks or so after its been
    released for people to talk about problems
    difficulties, etc
  • not everyone can come
  • etc.
  • Im planning on having a TA come to class each
    day a project is released to spend about 20
    minutes discussing it.
  • This way you get a heads up as to whats
    expected, required, etc. from one of the project
    developers

14
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

15
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.

16
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 last year

17
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

18
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
  • Actually, this has changed
  • You now need to see me instead.

19
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

20
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 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.

21
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

22
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

23
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

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

CS 2200
Systems
Networks
You are here!
25
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.

26
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.

27
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.

28
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

29
Another brief interlude
30
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

31
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

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

33
Screenshot 1
How do you make a player run where you want
to? Or taunt the other team?
34
Screenshot 2
How do you add fun features like night day,
rain snow?
35
Screenshot 3
How can you easily play a game from the 30s or
40s?
36
Screenshot 4
How can you easily play a game entirely of
mascots?
37
Screenshot 5
How can youever play a game with Georgia???
38
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

39
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

40
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)
41
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
42
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!
43
Level 4 compilers
  • Compilers are a bridge between
  • High-level languages
  • Runtime
  • OS
  • Have you done much with compilers besides using
    them?

44
Level 5 Hardware
45
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

46
A summarizing picture
CS2130, CS1xxx,
ECE2030
47
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

48
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 tricks
  • OS, architecture, networking abstractions
    reappear in applications.
  • These are some of the most time-tested
    abstractions in CS

49
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