EN.540.635 Software Carpentry
Course Outline Lectures: Tuesdays, 3:30 – 4:45 PM, MD 310 Labs: Thursdays, 3:30 – 4:45 PM, MD 310 Office Hours: Thursdays, 5:00 – 6:00 PM, MD 310 Contact: hherbol@jhu.edu
Course Outline Grading: Weekly Programming Challenges (20%) Lazor Group Project Part 1 (20%) Lazor Group Project Part 2 (15%) Final Project (25%) Participation (20%) Pass/Fail is based on achieving a grade over 60%
Course Outline Programming Challenges: Weekly challenges will be sent out on Monday, and due by midnight on Sunday. You are welcome to work together, but turn in your own work! Challenges will start off easy and progress as the semester continues. You may not have learned everything prior to a challenge – hence the word Challenge.
Course Outline Final Project: By April 8th propose a project that applies what you’ve learned this semester. Have fun with it! Make a game? Make a calculator? Make something the helps you with your research? Note, you must get approval for your project or else it will not count. By midnight of April 29th, turn in your project. Final projects will be presented on the last week of class!
Academic Integrity Practical problem solving is a key skill you will develop in this class. You are encouraged to discuss challenging lab work with your fellow students; however, every student is responsible for their own write-up. This means that you must personally type every keystroke in your submitted work. The only exception to this rule is if you are asked to work as a team or if you incorporate code or text from material distributed in class or on the class website. You may not copy or edit another student's work and submit it as your own, either in full or in part. You may not jointly edit or compose solutions with another student. The exchange of solutions in electronic, printed, or written form is expressly prohibited. Both sender(s) and receiver(s) will be prosecuted according to the Graduate Academic Misconduct Policy. You may read more information on University Policies here.
Inclusivity Statement This is an inclusive classroom that is open to the views of every student in the classroom. Please respect the uniqueness of your fellow classmates and appreciate the opportunity to be in an environment where we can all learn from each other
What is a Computer? A magical box A machine that uses ones and zeros to do things It lets me use the internet
Ones and Zeros We count in decimal: But what if we only knew the numbers 0 and 1? BINARY! Computers count in this:
Changing Base How do you read 10,353? Ten Thousand, Three Hundred and Fifty Three = 1 * 10,000 + 0 * 1,000 + 3 * 100 + 5 * 10 + 3 * 1 = 1 * 104 + 0 * 103 + 3 * 102 + 5 * 101 + 3 * 100 How about 10? Ten = 1 * 101 + 0 * 100? Two = 1 * 21 + 0 * 20? There are 10 different kinds of people out there Those that understand the Decimal System… Those that understand the Binary System… And those that understand the Base System is more than 10 and 2
Let’s Have Some FUN! 1210 in base 4 = ? 123 in base 10 = ? Ans1 = 30 Ans2 = 5 Ans3 = 2 Ans4 = F
Logic We want computers to accomplish basic tasks They must “Think” AND – If two things are true, then do some task NAND – If not AND – If two things are both not true at the same time, then do some task OR – If at least one of two things are true, then do some task NOR – If not OR – If neither of the two things are true, then do some task XOR – If exactly only one of two things is true, then do some task
Logic - AND 1 1 1 AND – If two things are true, then True
Logic - NAND 1 1 1 1 1 NAND – If not AND – If two things are both not true at the same time, then True
Logic - OR 1 1 1 1 1 OR – If at least one of two things are true, then True
Logic - NOR 1 1 1 NOR – If not OR – If neither of the two things are true, then True
Logic - XOR 1 1 1 1 XOR – If exactly only one of two things is true, then True
Logic - Gates 1 NAND OR XOR AND OR 1 NAND OR XOR NAND NOR
Joe Jenn Why Should I Care? 1 Years 10 Years for Jenn each 10 Years for Joe 10 Years for Both Ask class for a “Dastardly Deed” that Joe and Jenn did. Prisoner’s Dillema: Joe and Jenn robbed a bank. Unfortunately the cops only have enough evidence for the lesser crime of loitering, and plan to prosecute to the fullest extent of the law (1 year). However, if they can convince one of the two to rat on the other, then they’ll let one free. BUT! If they can convince both to rat on the other, then both go to jail for awhile.
Joe Jenn Why Should I Care? AND XOR NAND 1 – Person Stays Quite 0 – Betrayal Ask class for a “Dastardly Deed” that Joe and Jenn did
The Adder https://en.wikipedia.org/wiki/File:Halfadder.gif
Gates in Computers? We need 1’s and 0’s… Voltage! We need a device… THE TRANSISTOR! Channel Source Dielectric GATE Drain For more on Transistors, take EN.525.621
That Magical Black Box During this section, I will take apart a computer in front of the class and explain as I go along.
The Case
Opening it up
The First Look
CABLES!
Stuff
The Front Panel
Power Supply
The Motherboard!
Hard Drive and Optical Drive
Putting it Back Together
Putting it Back Together
Putting it Back Together
Putting it Back Together
Putting it Back Together