1 / 19

Becoming An Automagician

Becoming An Automagician. CSC 180 Dr. Adam Anthony. What is an Automagician?. Any sufficiently advanced technology is indistinguishable from magic Arthur C. Clarke's third law. Automagic : Wiktionary : Blend of automatic and magic

gilles
Download Presentation

Becoming An Automagician

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Becoming An Automagician CSC 180 Dr. Adam Anthony

  2. What is an Automagician? • Any sufficiently advanced technology is indistinguishable from magic • Arthur C. Clarke's third law. • Automagic: • Wiktionary: Blend of automatic and magic • Urban Dictionary: A technology that works but is too complicated to explain or understand • Automagician: • One who can produce technology that is considered automagic to the untrained lay person. (Newly coined in this context.)

  3. Becoming An Automagician • Where a regular magician must know a variety of tricks, the Automagician merely re-applies a single trick: Abstraction • “Abstraction (in CS terms) refers to the distinction between the external properties of an entity [or task] and the details of the entity’s internal composition” (Brookshear p. 11) • Example: cook book recipes

  4. A life without abstraction • Most-specific directions from MCS 183 to the student union: • “In your brain, decide that you want to go to the union. Turn your head until you see the door under the clock with the pencil sharpener next to it. If you are in a position where your legs are bent and your bottom is on a hard surface, lean forward slightly then push with both legs until your body is upright. Turn one of your feet toward the door, plant it on the floor, then move the other foot to point in the same direction. Then, alternating feet, move one foot in front of the other until you reach the door, then continue moving your feet in this manner a few more times into the hallway. If at any point there is anything in your way, you should either stop the foot movement or take extra steps so that a collision does not occur (see document “avoiding collisions” for more information). Turn one of your feet to the left, plant it on the floor, then move the other foot to point in the same direction. Again, alternate your foot movement by placing one foot in front of the other until you reach a pair of double doors. Reach out with your preferred hand (see document on hand preferences) and pull on the handle of the door until enough room is made for you to move through the door. Keeping one hand on the door, alternate your foot movement—one foot in front of the other—until you are through the door way.

  5. A life without abstraction (painfully continued!) • Turn one of your feet to the left, plant it on the floor, then move the other foot to point in the same direction. Alternate your foot movement, one in front of the other until you reach a set of three doors. Reach out with your preferred hand and pull on the handle of the door until there is enough space for you to move through the doors. . Keeping one hand on the door, alternate your foot movement—one foot in front of the other—until you are through the door way. Again alternate steps—one foot in front of the other—until you reach another set of three doors. Reach out with your preferred hand and pull on the handle of the door until there is enough space for you to move through the doors. . Keeping one hand on the door, alternate your foot movement—one foot in front of the other—until you are through the door way. Turn your head and look for a sidewalk. If you see a sidewalk, turn one foot toward the sidewalk, then move your other foot to point in the same direction. Alternate your foot movement—one foot in front of the other—onto the sidewalk. If you reach a point where your next foot movement will be on something other than the sidewalk, stop your foot movement, turn your head to find the center of the sidewalk, turn one foot in that direction, then move the other foot in the same direction. Proceed with alternating steps one foot in front of the other until you reach a street. Turn your head to the left, and look for vehicles moving in the street. Turn your head to the right, and look for vehicles moving in the street. If there are no vehicles moving in the street to the right or the left, then alternate your foot movements—one foot in front of the other—until you have reached the other side of the street. The building you are now standing in front of is the student union.

  6. A life (thankfully!) WITH Abstraction • Better directions to the student union from MCS 183: • Go out the door and turn left. Go through the double doors and turn right. Proceed through the exit straight ahead. Walk along the sidewalk just outside those doors. Cross the street and you are at the student union. • Even Better: • It’s the large building in ‘that direction’ across the street.

  7. The Point of Abstraction • Hide the complexities of lower levels • ‘Stand on the shoulders of giants’ • Make greater accomplishments without confusing ourselves • Commonly accepted abstractions simplify communication and learning • If That’s the Point, Then… • Why not just accept the lower levels of abstraction on faith? • Nobody thinks about how they walk, yet we walk just fine • Studying abstraction seems like a waste of time

  8. Knowledge of the lower levels makes us experts • Who thinks about how they use their legs to move? • Answer: Experts • “The runner must continue to fully extend their stride without over-striding; the optimum placing of the feet with each stride is at a point in relation to the runner's body where the center of gravity of the runner remains exactly midway between the runner's feet.”* *http://www.faqs.org/sports-science/Pl-Sa/Running-Sprinting.html

  9. So what’s the link to CSC 180? • In this class, we will analyze the most basic, foundational abstractions used to invent and program computers • Knowledge of these abstractions will give you the perspective needed to grow to become an expert on how computers work • But you’ll need to take many more classes to achieve expert status • Even if this is the last CSC class you take, I believe you’ll come to appreciate what it takes to make computers do the amazing things of which they are capable

  10. A Familiar Pattern • “The work performed by the computer is specified by a program, which is written in a programming language. This language is converted to sequences of machine-language instructions by interpreters or compilers, via a predefined set of subroutines called the operating system. The instructions, which are stored in the memory of the computer, define the operations to be performed on data, which are also stored in the computer's memory. A finite-state machine fetches and executes these instructions. The instructions as well as the data are represented by patterns of bits. Both the finite-state machine and the memory are built of storage registers and Boolean logic blocks, and the latter are based on simple logical functions, such as And, Or, and Invert. These logical functions are implemented by switches, which are set up either in series or in parallel, and these switches control a physical substance, such as water or electricity, which is used to send one of two possible signals from one switch to another: 1 or 0. This is the hierarchy of abstraction that makes computers work.” -- W. Daniel Hillis, The Pattern on the Stone

  11. What CSC 180 Is About • In this class, we’ll dissect the abstraction of the personal computer covering details of: • How hardware works (processors, memory, binary code) • How operating systems work with hardware • How programs run on top of operating systems • How programs communicate to create the internet and other networks • High-level computer science theory on how computers work and what they do • Discuss what computers are capable of doing (applications) • Discuss social and ethical concerns in computing

  12. What CSC 180 is not about • How to build your own comptuer • How to install Windows or Linux • How to use Word, Excel and PowerPoint • What kind of computer you should buy • Advanced programming techniques

  13. Course Logistics • Instructor: • Dr. Adam Anthony • apanthon@bw.edu(preferred way to reach me) • 440 826 2059 (less reliable) • Guaranteed Office hours: • Check course web page • You can stop by my office (check my posted semi-open door policy before coming in), but I may not be there, or I may ask you to come back later

  14. Textbooks and Software • Brookshear, Introduction to Computer Science, 11ed • Scratch Programming for Teens (free on BW ebooks) • http://bw.opal-libraries.org/login?url=http://site.ebrary.com/lib/bwc/Doc?id=10240576 • Scratch programming software (free) • http://scratch.mit.edu

  15. Homework and grading policies • 6 Homework Assignments • One-time extensions of up to a week will generally be granted if requested 2 or more days in advance • Last-minute requests for extensions will be denied • Late policy: • .000001 to 24 hours late: 25% penalty • 24 to 48 hours late: 50% penalty • 48 to 72 hours late: 75% penalty • More than 72 hours late: no credit will be given • All inquiries about homework grading (including requests for regrading or grade adjustments) must take place in person, in my office outside of class

  16. Laboratory Assignments • 6 Laboratory Assignments • Pre-Lab: Must be completed, and turned in via BlackBoard at start of lab (5 points) • In-Class Lab: Must be completed in class (5 Points) • Post-Lab: Must be completed by due-date (points vary) • Same late policy applies

  17. Academic integrity • Instructor’s responsibilities: • Be respectful • Be fair • Be available • Tell the students what they need to know and how they will be graded • Students’ responsibilities: • Be respectful • Do not cheat, plagiarize, or lie, or help anyone else to do so • Do not interfere with other students’ academic activities • Consequences include (but are not limited to) a reduced or failing grade on the assignment, or in the class

  18. Technology Policy • Technology is great, especially for us! • Using it to enhance your learning is fully permitted • Technology is a tempting distraction • Facebook does not care if you fail • It is impossible to browse the internet and learn at a high level at the same time • No use of electronic devices is permitted without permission of the instructor

  19. What to do before next class • Read the syllabus (In BB, click ‘course schedule’ link, then click syllabus in menu) • Grading criteria • ADA Compliance • Excused Absence/Missed Exam Policy • Skim course schedule, note exam dates! • DO NOT PRINT!!! • Assigned Reading

More Related