CS 1311 Fall 2000
Dec 31, 2015
CS 1311
Fall 2000
Instructors
• Bill Leahy– [email protected]– Office: CoC 121– Office Hours: Tue & Thur 3 - 5
• David Smith– [email protected]
– Office: CoC 121
– Office Hours: Mon & Wed 1 - 3
Welcome
• We’re glad you’re here.
• We hope you will learn useful things.• Find the course challenging.• Have fun!
Why take CS1311
• Required, but why?• Pervasiveness of Computing Technology• Probably eventually work with computers• Will definitely work with computer people• Critical resources for Tech Experience
• See supplemental chapter in textbook.
Misconceptions
• All computer programming is done by computer scientists.
• I’m a(n) (engineering/architecture/music/management) major. Why would I ever use this stuff?
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.
Lecture
• You are here!
• Will generally follow notes but not guaranteed.
• Questions welcome.
• All sections should be synchronized• Attendance strongly encouraged
– Clear link between attendance and grades
Lab
• Required by your department• Graded by a Lab TA• First lab: This week• Projects take some time because you’re learning.
Recitation
• Led by TA
• Quiz
• TA will explain details.
• Bring questions.
Office Hours
• Bill Leahy– TBA
• David Smith– Mon & Wed 1:00 - 3:00 p.m.
• Take advantage!!!
Help Sessions
• Led by TA’s or instructors• Offered for you and driven by your questions.• Take advantage early• Not to do your homework for you!
Books• Required
– Introduction to Computing and Algorithms• Custom Edition• Russell L. Shackelford
– Lecture Notes– Lab Manual
• Optional– Algorithmics -- The Spirit of Computing
• David Harel
Bundled at Engineer’s
Map to Engineers
MEANS STREET
ENGINEER'SBOOKSTORE748 MARIETTA ST.
MARIETTA STREET
TECH PARKWAY
MAIN ENTRANCE GEORGIA TECH STUDENT CENTER
SAC
THELMA’SKITCHEN
HABERSHAM BUILDING GEORGIA TECH
SALVATION ARMY
NEXUS ARTS CENTER
WACHOVIA
Wing Zone
WebCT
• Comprehensive package that will be used for
– Announcements
– Discussions
– Assignment Retreival and Turn in
– etc.
• First use in CS 1311
• New version
• Everyone: Instructors/TA’s/Administrators/Y’all is having their first experience this Semester
• Your patience and understanding will be appreciated
WebCT
• Available at:• http://webct3.gatech.edu
• NOT AVAILABLE UNTIL SATURDAY!!!
• Username: GT Number• Initial Password: Social Security Number
• It might not work!
Help
• Follow the following sequence of people– TA (or newsgroup)– STA– Instructor/Program Manager
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.
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 don’t
get a nasty surprise at the end.
Evaluation• Homeworks
– Turned in electronically, graded by Rec TA’s • Quizzes
– Taken in Recitation, graded by Rec TA’s• Lab projects
– Turned in electronically, graded by Lab TA• Lab Midterm
– Taken electronically• Lab Final
– Taken electronically• Lecture Final (“Official”)
Schedule This Week
• Go to lecture (Tuesday & Thursday)
• Go to Recitation (See your schedule)
• Do not go to lab!
• Make sure you have a GT Account
• Buy books, start reading
How the course worksSun Mon ThuWedTue SatFri
You are here
Youare
here
Sun Mon ThuWedTue SatFri
There will be lecture Tuesdays and Thursdays
Youare
here
Sun Mon ThuWedTue SatFri
You will have recitation Tuesday or Wednesday or Thursday
Youare
here
Sun Mon ThuWedTue SatFri
There is no scheduled Lab time
Youare
here
Sun Mon ThuWedTue SatFri
Homework will be assigned on Fridays. It will be available electronically.
Youare
here
HWAssigned
Sun Mon ThuWedTue SatFri
Homework will then be due the following Friday at 9:00 a.m.
Youare
here
HWDue
Sun Mon ThuWedTue SatFri
Homework will, in generalin general, be based on the preceding Thursday’s and Tuesday’s material
Youare
here
HWDue
Sun Mon ThuWedTue SatFri
Quizzes will be given in recitation. In general, they will cover the material from the previous homework
Youare
here
HWDue
Sun Mon ThuWedTue SatFri
QUIZ
Questions?
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.
Student/TA Meetings
• Mandatory meeting between small group of students (<5) and TA.
• Held weekly• Get back homework and quizzes• Discuss problems
• Contributes towards grade.
Grading
• Lab Projects 10% • Lab Midterm 10%• Lab Final 10%• Homework 10%• Quizzes 30%• Lecture Final 30%• Buzzback complete all +1%• Meetings w/TA each miss -1%• Final > Quiz: Final replaces quiz• No curve
Personnel
• You will have:– A lecturer (bleahy@cc OR dmsmith@cc)– A lab TA– A recitation TA– A senior TA (STA)– A Program Manager (progmgr@cc)
Is 1311 “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 nono mandate to run a “weed-
out” course.
Questions?
CS 1311: Introduction to ComputingOverview
1. Basic algorithmic/procedural programming
2. Object oriented programming
3. Performance Issues
Part 1
• Introduction to Procedural or Imperative Programming
• Language: Pascal like Pseudocode
• Will cover essential programming concepts and introduce some basic data structures
And now for something completely different...
• Part 2 has traditionally been an introduction to Object Oriented programming
• Up until now it has been taught using a modification of the basic pseudocode used in Part 1
• Starting now we will now be introducing Object Oriented Programming using Java
Part 3
• Performance Issues
Part 1: Programming
• We will be writing general algorithms
• There will not be a specific target machine
• Programming will be done in pseudocode
– Hand graded
– Simplified model
– Focus on algorithms and style
– Avoid syntactic details
Machine Model
• Mental model• Machine capabilities overview
• Important: – Focus on the right way to do things– Based on both theory and practice– Not based on what a given machine or
language will allow
Machine Model
CentralProcessing
Unit
• CPU controls the operation• Executes sequences of commands
• Typically called instructions• Capabilities
• Math• Compare numbers• Make simple decisions.
Machine Model
CentralProcessing
Unit
• Memory stores data used by programs• Data
• Numbers• Text• Logical (boolean i.e. TRUE/FALSE) • Other used in operations (e.g. addresses)
Memory
Machine Model
CentralProcessing
Unit
• Memory holds instructions (programs)• Not a focus of this course
Memory
Machine Model
CentralProcessing
Unit
• CPU and Memory communicate via bus (wires)
• Type of communication channel allows interconnection
Memory
Machine Model
CentralProcessing
Unit
There are also inputand output devicesattached to the bus.
Memory
Keyboard
Display
Basic Capabilities
• We will get into exact details of how we write algorithms in pseudocode next time.
• For now to get the basic idea we can imagine capabilites like– Moving data from the keyboard to memory– Moving data from the memory to the CPU– Performing math– Storing the result in memory– Writing the result on the display tube
Basic Capabilities// Our first algorithm (minus some details)
//
// Declare which variables we’ll need
Time, Speed, Distance isoftype Num
// Get a number from keyboard and store it.
read(Time)
// Get another from keyboard and store it.
read(Speed)
// Get the values from memory, multiply them
// together and then store in memory
Distance <- Time * Speed
// Get a number from memory and display it
print(Distance)
// The end!
Questions?
Go to Recitation!