CS1321 Introduction to Computer Science - PowerPoint PPT Presentation

1 / 75
About This Presentation
Title:

CS1321 Introduction to Computer Science

Description:

CS1321. Introduction to Computer Science. Welcome. We're glad you're ... A Midsummer Night's Dream. Key words: Things in your imagination. Turn them into shapes ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 76
Provided by: david3049
Category:

less

Transcript and Presenter's Notes

Title: CS1321 Introduction to Computer Science


1
CS1321Introduction to Computer Science
2
Welcome
  • Were glad youre here.
  • We hope you will
  • learn useful things.
  • Find the course challenging.
  • Have fun!

3
Lecturers (in no particular alphabetic order)
  • David Dagon dagon_at_cc.gatech.edu
  • Room 121 in the College of Computing
  • Dan Lerner lerner_at_cc.gatech.edu
  • Room xxx in the College of Computing
  • David Smith dmsmith_at_cc.gatech.edu
  • Room 123 in the College of Computing
  • Monica Sweat sweat_at_cc.gatech.edu
  • Room 120 in the College of Computing

4
Why take CS1321
  • Required, but why?
  • Pervasiveness of Computing Technology
  • Probably eventually work with computers
  • Will definitely work with computer people
  • Critical resources for Tech Experience
  • More later...

5
Misconceptions
  • All computer programming is done by computer
    scientists.
  • Im a(n) (engineering/architecture/music/managemen
    t) major. Why would I ever use this stuff?
  • I don't need to know how to program.

6
Course Objective
  • It is
  • To learn how to design programs
  • It is not
  • To learn goofy program syntax
  • To learn how to count parentheses
  • To make your life unbearable
  • although at times you will probably think it
    is all of these at once

7
University Vocabulary
  • Lecture Typically led by Professor or Lecturer.
    Sometimes big.
  • Lab Formerly held in equipped laboratory,
    involving immediate hands on doing. Now hands on
    projects done on your own.
  • Recitation Typically led by Teaching Assistant
    (TA). Smaller group. Questions and answers.

8
Lecture
  • You are here!
  • Will generally follow the material in the text
    book, but will usually work through different
    examples.
  • Questions welcome.
  • All sections should be synchronized
  • Attendance strongly encouraged
  • Clear link between attendance and grades

9
Lab
  • Required by your department
  • Graded by your TA
  • First lab This week
  • Projects take some time because youre learning.

10
Recitation
  • Led by TA
  • Test
  • TA will explain details.
  • Bring questions.

11
Office Hours
  • David Dagon
  • TBA
  • Dan Lerner
  • TBA
  • David Smith
  • Tues Thurs 100 - 300 p.m. or by appointment
  • Monica Sweat
  • TBA
  • Take advantage!!!

12
Help Sessions
  • Led by TAs or instructors
  • Offered for you and driven by your questions.
  • Take advantage early
  • Not to do your homework for you!

13
Resources
  • Book
  • How To Design Programs
  • Felleisen, Findler, Flatt, Krishnamurthi
  • http//www.htdp.org
  • Class Web Site
  • http//www.cc.gatech.edu/AY2002/CS1321
  • Lecture slides
  • Examples
  • On-line Lab Manual
  • And much more
  • Scheme Web Site
  • http//www.cs.rice.edu/CS/PLT/packages/drscheme

14
Course Text
How to Design Programs Matthias Felleisen
Robert Bruce Findler Matthew Flatt Shriram
Krishnamurthi ISBN 0-262-06218-6 Also
available at http//www.htdp.org
15
WebWork
  • Comprehensive package that will be used for
  • Announcements
  • Discussions
  • Assignment Retrieval and Turn in
  • etc.
  • New version
  • Everyone Instructors/TAs/Administrators/Yall
    is still learning this thing
  • Your patience and understanding will be
    appreciated

16
WebWork
  • Available at
  • Class web page
  • NOT AVAILABLE UNTIL MONDAY!!!
  • Username GT Number
  • Initial Password Social Security Number
  • It might not work!

17
Help
  • Follow the following sequence of people
  • TA (or newsgroup)
  • Senior TA (STA) your TA's supervisor
  • Instructor/Program Manager

18
Our Roles
  • Your role
  • You are required to demonstrate that you have
    learned this material.
  • You have hired us as trainers to assist you.
  • You are ultimately responsible for learning.
  • Our role
  • We will supply you with a variety of resources to
    enable you to learn effectively.
  • We will evaluate your performance.
  • This evaluation will be part of your permanent
    record.

19
Cafeteria Approach
  • Resources are available.
  • You pick the ones you want to use.
  • Evaluation is like the cash register at the end.
  • In this case, evaluation is ongoing so you dont
    get a nasty surprise at the end.

20
Evaluation
  • Homeworks
  • Turned in electronically, graded by TAs
  • Tests
  • Taken in Recitation, graded by TAs
  • Lab projects
  • Turned in electronically, graded by TA's
  • Lecture Final (Official)

21
Schedule This Week
  • Go to lecture (Tuesday Thursday)
  • Go to Recitation (See your schedule)
  • Make sure you have a GT Account
  • Buy book, start reading

22
How the course works
Sun
Mon
Thu
Wed
Tue
Sat
Fri
23
You are here
Sun
Mon
Thu
Wed
Tue
Sat
Fri
You are here
24
There will be lecture Tuesdays and Thursdays
Sun
Mon
Thu
Wed
Tue
Sat
Fri
You are here
25
You will have recitation Tuesday or Wednesday or
Thursday
Sun
Mon
Thu
Wed
Tue
Sat
Fri
You are here
26
There is no scheduled Lab time
Sun
Mon
Thu
Wed
Tue
Sat
Fri
You are here
27
Homework will be assigned in lecture. It will be
available electronically.
Sun
Mon
Thu
Wed
Tue
Sat
Fri
You are here
HW Assigned
HW Assigned
28
Homework will then be due at the midnight before
the next lecture
Sun
Mon
Thu
Wed
Tue
Sat
Fri
You are here
29
First Assignment
  • Assigned today
  • Turn in on paper in class Thursday

30
Tests given in recitation. They will cover the
material from the previous homeworks
Sun
Mon
Thu
Wed
Tue
Sat
Fri
HW Due
HW Due
TEST
31
Questions?
32
Buzzback
  • Mandatory survey tool
  • Counts towards grade
  • We need and want your feedback.
  • This course has been heavily influenced by
    Buzzback
  • Totally anonymous
  • Details later.

33
TA Office Hours
  • Your TA will announce his/her office hours in
    recitation
  • Held weekly
  • Get back homework and quizzes
  • Discuss problems
  • You must at least go to pick up your work
  • If the grade is not 100,
  • Find out what you missed
  • Correct your study habits / procedures

34
Grading
  • Tests 33
  • Homework 20
  • Labs 15
  • Final 30
  • Buzzback complete all 2
  • Final gt Tests Final replaces test score
  • No curve

35
Personnel
  • You will have
  • A lecturer
  • TA
  • A senior TA (STA)
  • A Program Manager (progmgr_at_cc)

36
Is 1321 The Shaft
  • The course requires a lot of work.
  • We bend over backwards to be fair.
  • For many students it is a rude awakening from
    their carefree high school years.
  • Some students wait until it is too late to
    realize that they are locked in a death spiral.
  • Resources are there to be used. Make use of
    them!!!
  • There is absolutely no mandate to run a
    weed-out course.

37
Questions?
38
Why Me?
  • Why everyone should learn to program
  • And as imagination bodies forth
  • The forms of things to unknown, and the poet's
    pen
  • Turns them to shapes, and gives to airy nothing
  • A local habitation and a name.
  • William Shakespeare
  • A Midsummer Night's Dream
  • Key words
  • Things in your imagination
  • Turn them into shapes
  • patterns or designs
  • Give them a habitation and a name
  • executable instances of your ideas

39
The Algorithmic Model
  • What is Computer Science
  • What is Programming
  • Algorithms
  • Defined
  • Properties of Good Algorithms
  • Describing Algorithms
  • Examples

40
Definitions
Computer science is the study of what computers
do.
41
Definitions
Computer science, today more accurately a
separate discipline, considers a number of rather
mathematical topics. In addition to computability
questions arising from many problems in discrete
mathematics, and logic questions related to
recursion theory, one must consider scheduling
questions, stochastic models, and so on.
Computer Science is no more about computers
than astronomy is about telescopes.
42
Definitions
"Computer Science is, simply put, the study of
computation. The study of anything that lends
itself to a computational model is a study in
Computer Science."
43
Definitions
Computer science revolves around computational
processes, which are also called information
processes or simply processes. A process is a
dynamic succession of eventsa happening.
44
ProcessWhat?
?
If we define CS based on a study of
computational processes--- Whats a
process?
45
A Definition Through Indirection
Another way of describing a process is "a
procedure in execution." A procedure is a
collection of instructions, that results in some
useful behavior on behalf of the device that
executes the instruction. When expressed in a
symbolic language, the procedure is called a
computer program.
What's a procedure?
46
What is an Algorithm?
47
Algorithms
  • An algorithm is a precise method of solving a
    problem
  • A given problem may be solvable by a number of
    different algorithms
  • An algorithm will typically use levels of
    abstraction to make the solution clearer and
    implementation easier.

48
Once upon a time
  • Many years ago programmers realized that
    programming a complex task would be simpler if
    they could break the big job down into pieces

49
Once upon a time
  • This was the birth of modular programming where
    big programs get broken down into smaller pieces
    called modules, methods, subroutines, procedures
    or functions.

50
Abstraction
  • This breaking down a problem into components that
    finally just do one thing is the key to good
    abstraction.

51
Algorithms Abstraction
  • A key feature of a well written algorithm will be
    proper use of abstraction
  • This will provide an algorithm that
  • is more understandable
  • is easier to implement and test
  • provides more reusable modules
  • will get a higher grade!

A
52
Why Study Computer Science?
53
Myth
Computer science is for techno geeks who want to
drive expensive luxury imports.
54
What is Programming
  • Programming requires two skills
  • Algorithmic thinking
  • Knowledge of programming language syntax
  • Learning language syntax is the easy part

55
Algorithm Defined
  • A set of logical steps to accomplish a task
  • One way to solve a problem
  • A recipe of action
  • A way of describing behavior

56
Algorithms in Computing
Input Data Algorithm Output Data
57
Algorithm Recipe
  • Chocolate Chip Cookies DATA
    (ingredients) 2 1/4 cups flour 1 tsp salt 1
    tsp baking soda 2 eggs 3/4 cup brown sugar 1
    tsp vanilla ext. 3/4 cup grand sugar 1 cup
    soft butter 12oz. semi-sweet chocolate
    chipsINSTRUCTIONS (steps) Preheat oven to
    375. Combine flour, salt, baking soda, in
    bowl, set mixture aside. Combine sugars,
    butter, vanilla, beat until creamy. Add eggs
    and beat. Add dry mixture and mix well.
    Stir in chocolate chips Drop mixture by
    teaspoons onto ungreased cookie sheet Bake 8
    to 10 minutes

58
Abstraction
  • a general idea or term
  • an impractical idea visionary and unrealistic
  • general characteristics apart from concrete
    realities, specific objects or actual instances
  • withdrawal
  • absent-mindedness inattention
  • a work of art stressing formal relationships

(Random House Dictionary of the English Language)
59
Abstraction in Computing
  • Refers to the logical grouping of concepts or
    objects
  • Define/implement the general idea
  • Isolate the details
  • Helps readability and understandingof our
    algorithms

60
Abstraction in Algorithms
  • The Abstraction
  • Get to the College of Computing at Georgia
    Tech
  • One Implementation
  • begin
  • get on I-85 heading towards Midtown Atlanta
  • exit I-85 at the 10th street exit
  • proceed along exit ramp to 10th street
  • turn west on 10th street
  • turn left on Atlantic Drive
  • stop in front of CoC building
  • end
  • Other implementations of the same abstraction can
    be just as correct, better, or worse

61
Why do we stress abstraction?
62
Whats Wrong With This Algorithm?
(From back of shampoo bottle) Directions
Wet Hair Apply a small amount of shampoo
Lather Rinse Repeat
63
Program Design
  • Analyze a problem statement (word problem)
  • Express its essence, abstractly and with examples
  • Formulate statements and comments in a precise
    language
  • Evaluate and revise these activities in the light
    of checks and tests
  • Pay attention to detail

64
Five Points of Advice by Matthias Felleisen
  • You cannot learn everything you need to know in
    lectures and/or homeworks. You must
  • 1. Read the Lectures Notes and the Books (How to
    Design Programs)
  • Try to stay ahead of the game and read material
    before it is covered in class. If you have
    questions, write them down. If these questions
    don't get covered, ask in class and/or meet with
    the TA, or professor.

65
Five Points of Advice by Matthias Felleisen
  • You cannot learn everything you need to know in
    lectures and/or homeworks. You must
  • 2. Attempt to solve additional problems.
  • Try to solve as many exercises as you read
    sections from the book. If you can't do them,
    read the material again.

66
Five Points of Advice by Matthias Felleisen
  • You cannot learn everything you need to know in
    lectures and/or homeworks. You must
  • 3. Attend the lecture and recitations.
  • Every professor has a personal understanding of a
    (introductory) course and teaches the material
    according to a personal style. It is important to
    get used to and to exploit this "personalization
    of courses" otherwise, you're wasting your
    money.
  • The labs and recitations cover the practical
    know-how (how to edit, how to evaluate, how to
    print, etc.) and illustrate the material from a
    different angle.

67
Five Points of Advice by Matthias Felleisen
  • You cannot learn everything you need to know in
    lectures and/or homeworks. You must
  • 4. Talk to the teachers.
  • If the lecture and the notes leave you with
    questions on the material, see your teacher(s)
    during office hours or make an appointment. Mark
    the passages in the book(s) that you haven't
    understood and prepare questions that express
    what you haven't understood.

68
Five Points of Advice by Matthias Felleisen
  • You cannot learn everything you need to know in
    lectures and/or homeworks. You must
  • 5. Keep up.
  • Experience proves that students who fall behind
    quickly drop out. So, keep up with the readings,
    tutorials, and the homeworks. Ask for additional
    problems, if the homeworks failed to make a
    point.

69
Some Tips
  • For many students this will be your first
    exposure to Computer Science (unlike Math,
    Chemistry, etc.)

70
Tip 1
Dont wait until the last minute to get help
71
Tip 2
Hey, can I still pass if I can get enough partial
credit?
Bad things happen while learning a new skill.
You will probably crash and burn on some
programs. Start early give yourself time for
mistakes.
72
Tip 3
Dont be too ambitious with your course load.
You CANNOT slack off in this class, even for a
few days.
73
Tip 4
Watch out for the big picture. Dont forget
this is a programming course, not a Scheme
course. Its dangerous to hide from the
programming part of the course. You may be
crushed on the final.
74
Discussion?
75
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com