Upload
delfina-ordell
View
18
Download
2
Tags:
Embed Size (px)
DESCRIPTION
CS312 Course Introduction. "Computers are good at following instructions, but not at reading your mind." -Donald Knuth, Tex p. 9. Mike Scott, Gates 6.304 [email protected] www.cs.utexas.edu/~scottm/cs312. Who Am I. Lecturer in CS department since 2000 Undergrad Stanford, MSCS RPI - PowerPoint PPT Presentation
Citation preview
1
CS312 Course Introduction"Computers are good at following instructions, but not at reading your mind."
-Donald Knuth, Tex p. 9
Mike Scott, Gates 6.304 [email protected]/~scottm/cs312
2
Who Am I8 Lecturer in CS department
since 20008Undergrad Stanford,
MSCS RPI8US Navy for 8 years,
submarines8 2 years Round Rock High
School
CS312
3
What We Will Do Today
8 Introductions and administrative details8Discuss what computer science is 8 Look at some examples of what computer
scientists do
CS312
Intro to Programming
8 Learn to design and implement programs to solve complex problems.
CS312 4
1. course Intro2. basic Java3. static methods4. expressions & variables5. for loops6. more loops, constants7. parameters8. 2d graphics9. more graphics10. return values, Math methods11. conditional statements
12. cumulative algorithms13. Strings14. while loops15. random numbers16. Boolean logic17. assertions18. file input 119. file input 220. file input 321. arrays22. more arrays23. tallying algos
24. sorting, searching25. more array algos26. 2d arrays27. classes and objects28. methods29. constructors30. creating classes,
Enums31. inheritance32. polymorphism33. ArrayList34. recursion
5
Startup8 www.cs.utexas.edu/~scott/cs312/handouts/startup.htm
8Request CS department account– https://apps.cs.utexas.edu/udb/newaccount/
8Read the syllabus and look over the schedule. 8 Explore the class web page8 Sign up for the class discussion group
on Piazza8Register iClicker (not on Canvas)
CS312
Startup
8 Software if working at home8 Practice It Account8Get the textbook
CS312 6
7
Clicker Question1
Which of these best describes you?A. First year at UT and first year college studentB. First year at UT, transferring from another college
or university.C. In second year at UT.D. In third year at UTE. Other
CS312
8
Graded Course Components8 clicker participation
– 40 lectures with clicker, 1 point each: 40 points total8 Discussion section quizzes (Go to your section.)
– 8 quizzes, 10 points each: 80 points total8 Programming projects
– 12 projects, 1st 10 points, rest 20 points: 230 points total 8 Two Midterms: 150, 200
– 7 - 9 pm, Wednesday 9/30 and Wednesday 11/4– conflict? email me ASAP
8 Final: 330 points, Day and Time TBD8 40 + 80 + 230 + 150 + 200 + 330 = 10308 clicker, Quizzes, Programming Assignments capped
at 320 points. 8 30 points of “slack” among those 3 components8 No points added! Grades based on 1000 points, not 10308 Grades posted to Canvas
9
Grades and Performance8 Final grade determined by final point total and a
900 – 800 – 700 – 600 scale– plusses and minuses if within 25 points of cutoff:
875 – 899: B+, 900 – 924: A-
8 historically my CS312 classes8 72% C- or higher:
– 33% A's, 25% B's, 15% C's
8 15% D or F8 13% Q or W (drop)
CS312
A B C D F Q, W0
5
10
15
20
25
30
35
Grade Breakdown, Percent of class
Assignments8 Start out easy but get much, much harder8 Individual – do your own work
– okay to share tests you write
8 Programs checked automatically with plagiarism detection software
8 Turn in the right thing - correct name, correct format or you will lose points / slip days
8 Slip days– 6 for term, max 2 per assignment– don’t use frivolously
10CS312
11
Succeeding in the Course8 Randy Pausch,
CS Professor at CMU said:
8 "When I got tenure a year early at Virginia, other Assistant Professors would come up to me and say, 'You got tenure early!?!?! What's your secret?!?!?' and I would tell them, 'Call me in my office at 10pm on Friday night and I'll tell you.' "
8 “A lot of people want a shortcut. I find the best shortcut is the long way, which is basically two words: work hard.”
12
Succeeding in the Course8Whole course is cumulative! 8Material builds on itself
– failure to understand a concept leads to bigger problems down the road, so …
8 do the readings8 start on assignments early8 get help from the teaching staff when you get stuck on an
assignment8 attend lecture and discussion sections8 participate on the class discussion group8 do extra problems (Practice It! http://practiceit.cs.washington.edu/)8 study for tests using the old tests8 study for tests in groups8 ask questions and get help when needed
Succeeding in the Course
8Cannot succeed via memorization.8 The things I expect you to do are not rote.8 Learn by doing.8 If you are brand new to programming or
have limited experience I strongly recommend you do lots and lots of practice problems.– Practice It! web site– JavaBat
CS312 13
Common Mistakes
8Not registering clicker at iClicker website8 Assuming final date and time already set8Not turning in the correct thing on
programming assignments8Going to the wrong section8Not getting help
CS312 14
15
Course Materials and Procedures8 Software
– can work in CS department microlab, 1st and 3rd floor of Gates, north wing (GDC)
– login via CS account name and password– work on your own system if you wish– Java.
• Web page has details under Software. - JDK 7.0– Optional IDE.
• Recommended IDE is BlueJ or Eclipse, also free
CS312
Programming is like Legos…
CS312
Legos and Programming
8With Legos and Programming you have a small number of primitives. (basic tools or pieces)
8 But you build huge, elaborate structures out of those simple pieces.
CS312 19
20
A Brief Look at Computer Science
8 This class, like most first classes in Computer Science, focuses solving problems and implementing those solutions as computer programs.– you learn how to program
8… and yet, computer science and computer programming are not the same thing!
8 So what is Computer Science?
CS312
21
What is Computer Science?
8 Poorly named in the first place.8 It is not so much about the computer as it is
about Computation.8 “Computer Science is more the study of
managing and processing information than it is the study of computers.”
-Owen Astrachan, Duke University8 learn to program
– programming a key tool in later courses
CS312
22
Computer Programming and Computer Science
8Generally the first thing that is studied in Chemistry is stoichiometry.– Why? It is a skill necessary in order to study
more advanced topics in Chemistry
8 The same is true of problems solving / programming and computer science.
CS312
23
8 “What is the linking thread which gathers these disparate branches into a single discipline? …it is the art of programming a computer. It is the art of designing efficient and elegant methods of getting a computer to solve problems, theoretical or practical, small or large, simple or complex.”
- C. A. R. Hoare8 Sir Tony Hoare. Turing Award Winner.
Inventor of the quicksort algorithm
CS312
24
8 “Programming is unquestionably the central topic of computing.
In addition to being important, programming is an enormously exciting intellectual activity. In its purest form, it is the systematic mastery of complexity. For some problems, the complexity is akin to that associated with designing a fine mechanical watch, i.e., discovering the best way to assemble a relatively small number of pieces into a harmonious and efficient mechanism. For other problems, the complexity is more akin to that associated with putting a man on the moon, i.e, managing a massive amount of detail.
In addition to being important and intellectually challenging, programming is a great deal of fun. Programmers get to build things and see them work.. What could be more satisfying? “
- John V. Guttag, Professor at MITresearch in AI, medical systems, wirelessnetworking
CS312
25
Computer Programming
8 a skill and tool that are applied to all other areas of computer science– artificial intelligence, networks,
cpu architecture, graphics, systems (programming languages, operating systems, compilers), security, and on and on …
8We will be using solving problems and implementing solutions in a programming language called Java
8 problem solving and computational thinking are key
CS312
26
What do Computer Scientists do?
8Computer Scientists solve problems– creation of algorithms
8 Some examples– you– Kurt Dresner, Intersection Control– Austin Villa, Robot Soccer– Doug and Steve, the TRIPS processor
CS312
You!
8 Encryption and Decryption8 Ever entered your credit card number to a
website? game company?
CS312 27
After a Little Computation:
8 Apply some human smarts:
CS312 28
29
Kurt Dresner – Intersection Control
8 Former PhD student in UTCS department– working at Google now
8 area of interest artificial intelligence
8 Multiagent Traffic Management: A Reservation-Based Intersection Control Mechanism – how will intersections work if and when cars
are autonomous?– Simulator
CS312
30
Austin Villa – Robot Soccer
8 Multiple Autonomous Agents8 Get a bunch of Sony Aibo robots
to play soccer8 Problems:
– vision (is that the ball?)– localization (where am I?)– locomotion (I want to be there!)– coordination (I am open! pass me
the ball!)8 http://www.cs.utexas.edu/~AustinVilla/8 Video Video2
CS312
31
Doug and Steve
8Doug Burger and Steve Keckler– and many, many others ....
8 TRIPS– what has happened to
processor speeds the past 5 years?
– what is a super computer?
– http://www.cs.utexas.edu/users/cart/trips/
CS312
32
The Trips Chip Prototype
CS312
33
Google Trends8 http://www.google.com/trends8 Try these:
– computer science– Mumford and Sons– computer science, Mumford and Sons– facebook, computer science, Mumford and
Sons– binary search tree– recursion– linked lists, binary search tree– AP– super bowl
CS312
Goolge N Grams8 http://books.google.com/ngrams
CS312 34