CS 105: Intro to Computing, Non-technical Craig Zilles (Computer Science) Al Harris (Computer Science) https://go.illinois.edu/cs105fa19 September 6, 2019
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
Wha What is Comput puter Scienc nce? “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
The learning g objectives for this course 4
What is “Progr gramming”? • 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 Alternate Terms “Programs” “Software” “Application” “Code” But not "Codes" – it's always singular!
Progr grams are everywhere https://openclipart.org/
Progr grams do many things gs
Three parts of writing g a progr gram Algorithms: • A step-by-step process for achieving a result • Often expressed in pseudo-code (instead of a programming 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
Making g a Peanut Butter & Jelly Sandwich (a randomly selected student algorithm) • Step 1: Collect your ingredients which include a butter knife, peanut butter, jelly, and two slices of bread. • Step 2: Spread peanut butter evenly on one slice of bread • Step 3: Spread jelly evenly on the other slice of bread • Step 4: Bring the two slices together • Step 5: Cut the sandwich in half • Step 6: Enjoy 10
Natural langu guage (Engl glish) is too ambigu guous • “I saw the man in the park with the telescope” • Who had the telescope? • Who was in the park? 11
• Open the bag of bread and obtain two pieces, leaving the top piece behind • Obtain two knives from the kitchen • Open the jar of peanut butter using a twisting motion • Lay the lid aside for now • Using one knife, obtain a reasonable amount of peanut butter and spread evenly on one side of one bread piece • Be gentle so that the bread does not deform • lay the bread piece on the counter with the peanut butter side facing up • Then discard the knife and close the jar of peanut butter • Open the jar of jelly and put the lid aside • Take second knife and pick up a reasonable about of jelly from the jar • Like with the peanut butter, spread the jelly over one side of the other piece of bread • Be gentle with your spreading strokes • Lay the bread piece on the counter, jelly side up • Discard the knife, and close the jelly jar using its original lid • Now, take the bread piece with the jelly, and press it against the piece with the butter • The peanut butter and jelly sides should be facing each other and the clean sides should be facing out • Voila! You have just made a peanut butter and jelly sandwich 12
Ke Key Idea: Progr gramming g langu guages are design gned to be exact and unambigu guous • 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, this stuff is totally arbitrary! • 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 ructure of of t this c cou ourse • The book • Pre-lecture activities • Lecture • Homework • Labs • Quizzes and Exams 15
What is known about teaching g and learning g (1) 1. No one can pay attention for 100 continuous minutes • We’ll have a 10 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 g and learning g (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 practice • Retention comes from cycles of forgetting and re-learning • Spaced in time; cramming doesn’t work for long term retention 17
Gr Growth th M Min indset 18
Teaching g by diminishing g 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 ructure 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 20
We Weekly cycle: • each topic covered over a two week period M Tu W Th F Sa Su M Tu W Th F Sa Su M Tu W Read Book Book Lecture (Participation) (Challenge) Pre-Lecture Homework Lab • 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: M Tu W Th F Sa Su M Tu W Th F Sa Su M Tu W Read Book Book Lecture (Participation) (Challenge) Pre-Lecture Homework Lab Read Book Book Lecture (Participation) (Challenge) Pre-Lecture Homework Read Book (Participation) Pre-Lecture 22
The homework plagi giarism/collaboration po policy in n CS 105 is: Ic Iclicker ques questi tion: n: sel elect ect the the bes best t ans answer er 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
Qu Quizzes and Exams ms (all all to be e done e by yourself elf) • Four mid-term exams in the Computer-Based Testing Facility (CBTF): • Sign-up at https://cbtf.engr.illinois.edu/sched • 3-day window: Thursday – Saturday • 50 minutes • Four quizzes (basically required practice exams) • 50 minutes timed, self-proctored, wherever you want to take them. • Same 3-day window • One three-hour final exam in the CBTF 25
An Announcements: see course web page • The spatial assessment is due at midnight tonight; please get it done • If you didn’t finish the reading/pre-lecture, deadline extended to Mon. • If you completed Lab Setup, you have no lab next week • If you haven’t completed Lab Setup or want help • Go to any lab section on Tuesday or Wednesday next week • 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
Comp Computer r basics: ma major or part rts 27
Mo Modern CPUs like those in laptops, tablets, and phones ex execute how many instructions per second: Ic Iclicker ques question: n: sel elec ect the he bes best ans nswer er A) Thousands B) Millions C) Billions D) Trillions E) Quadrillions 28
Comp Computers are: Ic Iclicker ques question: n: sel elec ect the he bes best ans nswer er A) Smart B) Not smart 29
Comp Computers are ru run very low-le level el in instr tructio tions • 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