CS 105: Intro to Computing, Non-technical Craig Zilles (Computer Science) https://go.illinois.edu/cs105sp20 January 27, 2020
To Today 1. Goals of this course (and why) 2. Structure of this course (and why) 3. Some Computer Basics 4. Programming Language & Python Basics 5. Muddiest Points • input/print, types, type conversion, syntax and other errors 6. Challenge questions 2
Wh What is Comp mputer Science? “Computers are to Computer Science what telescopes are to astronomy” -Edsger Dijkstra Computer Science is concerned with understanding: • what is computable, • how to [specify computations, perform computations, communicate between computers] in the [fastest, most reliable, most secure, cheapest/lowest power] way, • how to help humans solve problems with computers 3
Th The lear arning objectives s for this s course se 4
Wh What is “Programmi mming”? • A series of instructions that can be carried out by a computer • A really useful skill for many people • Useful to even know what is possible http://www.programmingbasics.org/en/beginner/img/commands4.png
Al Altern rnate Term rms “Programs” “Software” “Application” “Code” But not "Codes" – it's always singular!
Pr Programs are eve verywhere https://openclipart.org/
Pr Programs do many things
Th Three par arts s of writing a a program am Algorithms: • A step-by-step process for achieving a result • Often expressed in pseudo-code (instead of a prog. language) • Avoid distraction of details • Increases generality Programming: • Expressing commands in a form that the computer understands Testing and Debugging: • Making sure that the program (always) does what is intended 9
Ma Making a Peanut Butter & Jelly Sandwich (a randomly selected student algorithm) • Gather your supplies such as bread, a spreading knife, peanut butter and jelly. • Spread peanut butter on one slice of bread using the knife. • Spread Jelly on another slice of bread. • Take the two slices and put them in a sandwich form with the peanut butter and jelly facing eachother. • Enjoy. 10
Na Natural language (English) is too ambiguous • “I saw the man in the park with the telescope” • Who had the telescope? • Who was in the park? 11
Step 1) Gather Materials Step 2) Lay the two pieces of bread about 8” apart flat on their faces on your working surface. Step 3) Using the knife, scoop a dollop of peanut butter out of the jar roughly 1” in diameter. Spread the dollop evenly on the face of one slice of bread until there is an even layer of peanut butter roughly 1/8” thick. Step 4) Rinse the excess peanut butter off the Knife. Then dry with towel. Step 5) Repeat Step 3 on the other slice of bread replacing the peanut butter with the jelly or jam. Step 6) Place one slice of bread on the plate, jelly side up. Then place the other slice of bread on top of the slice on the plate peanut butter side down, ensure the shapes of the bread slices match and their edges are flush. Step 7) Enjoy! 12
Ke Key Idea: Pr Programming languages are de designe ned d to be be exact and nd una unambi biguo uous us • Everything in a programming language has a precise form (syntax) and a precise meaning (semantics) • Syntax: Rules of what are acceptable programs • Semantics: Rules specifying what a program does • This need for exactness is challenging for many novices. 13
Al Also, thi his stuf uff is totally arbi bitrary! • Computers and programming languages are human made • There is no reason that you should know any of this stuff if you haven’t seen it before • People in this class that seem “smarter” have probably seen it before • The easiest bugs to find in your code are the ones that you made before • There is no short cut around making mistakes 14
St Stru ruct cture of of t this c cou ourse • The book • Pre-lecture activities • Lecture • Homework • Labs • Quizzes and Exams • Office Hours & Piazza 15
Wh What is known about teaching and learning (1 (1) 1. No one can pay attention for 90 continuous minutes • We’ll have a 5 minute break in the middle of lecture • Please try to focus the rest of the time 2. “Time on task” is a primary factor of how much gets learned. • My job, give you productive things to spend time on 3. One learns much more by doing than by reading or listening. • You have to expend mental energy or it doesn’t stick 16
What is known about teaching and learning (2 Wh (2) 4. The things you can most efficiently learn are: • Those related to things that you already know • Those that are only slightly harder than the things you can currently do 5. Long term retention comes from repeated, distributed(in time) practice • Retention comes from cycles of forgetting and re- learning • Spaced in time; cramming doesn’t work for long term retention 17
Gr Growth Mindset 18
Te Teaching by diminishing deception • Computers (like many things) are too complicated to understand all at once. • I’m going to glaze over unnecessary details until we’re ready for them • Feel free to ask questions, but I might defer some for after class / during break 19
St Stru ruct cture of of t this c cou ourse • The book • Pre-lecture activities • Lecture • I clickers, participation encouraged, ask questions, recorded • Homework • Labs • Quizzes and Exams • Office Hours & Piazza 20
We Weekly cycle: • each topic covered over a 1.5 week period Th F Sa Su M Tu W Th F Sa Su Read Book Lab Lecture (Participation) Book Pre-Lecture Homework (Challenge) • Book activities, Pre-lectures have strict deadlines • Homework has late deadline for 70% credit. • Lecture/Lab allows 2 excused/unexcused absences 21
We Weekly cycle: Th F Sa Su M Tu W Th F Sa Su M Tu W Th F Sa Su Read Book Lab Lecture (Participation) Book Pre-Lecture Homework (Challenge) Read Book Lab Lecture (Participation) Book Pre-Lecture Homework (Challenge) Read Book (Participation) Pre-Lecture 22
Th The homework plag agiar arism sm/collab aboration po policy in n CS 105 is: Ic Iclic licker que question: n: select the he be best ans answer A) It is okay to hire random internet strangers to do all of your homework for you. B) You must do all of your homework alone (not even TAs can help) C) You can get any help you want as long as you type in the answers D) Students can only discuss the homework at a high level; code must not be shown to other students, but you can ask TAs for help E) Assignments can be done in groups of two students 23
Fo Formative vs. Summative Assessment • Practice / Formative Assessment: • Primarily intended for learning, self-evaluation • CS 105: Participation/Challenge, Pre-lecture activities, Homework • You may get help from anyone, but you have to enter the solution • Summative Assessment: • An evaluation of how much has been learned • CS 105: Quizzes and Exams • To be done by yourself ; you may not get help from anyone 24
Qui Quizzes and nd Exams (al all to be done by yourself) • Four mid-term exams in the Computer-Based Testing Facility (CBTF): • Sign-up at https://cbtf.engr.illinois.edu/sched • 4-day window: Thursday – Sunday • 50 minutes • Four quizzes (basically required practice exams) • 50 minutes timed, self-proctored, wherever you want to take them. • 3-day window: Thursday – Saturday • One three-hour final exam in the CBTF 25
Anno Announc uncements: see cour urse web b pa page • If you didn’t finish the reading/pre-lecture, deadline extended to Thurs. • Labs begin this week! • If you didn’t get checked off in Lab last week: • Get checked off for it at the end of lab • You can sign up for the first exam now • We’re going to give up to 2% extra credit for the ~20 students that have the most Piazza answers marked as good answers. 26
Com Computer b r basics: m : major p or part rts "I had difficulty understanding computer components such as memory and storage." 27
Mo Modern CPUs like those in laptops, ta tablets, and phones execute how many in instructio ions per second: Ic Iclicker que question: n: se select the he be best ans answer A) Thousands B) Millions C) Billions D) Trillions E) Quadrillions 28
Com Computers a are: Ic Iclicker que question: n: se select the he be best ans answer A) Smart B) Not smart 29
Co Computers run very low-le level l in instructio ions • Things like: • Move a number from one storage location to another • Add two numbers together • Check if one number is larger than another • Go to a different place in the code • Computers can be programmed at this level, but • It is very tedious and error prone • You have to write a lot of code to do anything significant • This code isn’t portable across different processor types (e.g., laptops vs phones) 30
Recommend
More recommend