120 likes | 287 Views
Welcome to: CSC225 Introduction to Computer Organization. Paul Hatalsky Julie Workman. Where this class fits in. 101,102,103. High-Level Language. 430,431. Compiler. Assembly Programming. 225. Input/Output Interfaces. Instruction Set Architectures. 315. Computer Organization. 229.
E N D
Welcome to:CSC225Introduction to Computer Organization Paul Hatalsky Julie Workman
Where this class fits in 101,102,103 High-Level Language 430,431 Compiler Assembly Programming 225 Input/Output Interfaces Instruction Set Architectures 315 Computer Organization 229 Implementation 129 Logic Transistors Note: This should be a 3-dimensional picture to show depth of details.
Introduction to the World of Computing • Computer: electronic genius? • NO! Electronic idiot! • Does exactly what we tell it to, nothing more. • Goal of the course: • You will be able to write programs in Cand understand what’s going on underneath. • Approach: • Build understanding from the bottom up on the LC-3! • Bits Gates Processor Instructions C Programming 129 315 225
Why are we learning this stuff??? • Abstraction • Productivity enhancer – don’t need to worry about details… Can drive a car without knowing howthe internal combustion engine works. • …until something goes wrong! Where’s the dipstick? What’s a spark plug? • Important to understand the components andhow they work together. • Hardware vs. Software • It’s not either/or – both are components of a computer system. • Even if you specialize in one,you should understand capabilities and limitations of both. • Must at least learn characteristics of both if not details • Because we should know…
Will learning the LC-3 teach me anything about a real computer? • All computers, given enough time and memory,are capable of computing exactly the same things. = = PDA Workstation Supercomputer
Course Outline • Bits and Bytes • How do we represent information using electrical signals? • Digital Logic • How do we build circuits to process information? • Processor and Instruction Set • How do we build a processor out of logic elements? • What operations (instructions) will we implement? • Assembly Language Programming • How do we use processor instructions to implement algorithms? • How do we write modular, reusable code? (subroutines) • I/O, Traps, and Interrupts • How does processor communicate with outside world? • C Programming • How do we write programs in C? • How do we implement high-level programming constructs?
Welcome! • Class Organization • Two midterms • Written final • Grading • Homework – 0% • Labs – 30% • Midterms – 20% each • Written Final – 30%
Policies • Late Policy – No late labs. Turn in what you have. • Plagiarism • Lab write-ups are individual (unless I specifically allow partners) • You may not look at someone’s working code. • No one else may type anything into the code. • Discuss concepts and implementation strategies all that you want.
Policies • Homework • Work together if you wish, but TRY the problem yourself before you get help. • Good way to study for tests. • At least one question per midterm will come directly from the homework. • Exams • 2 Midterms – 1 side of 1 page (8.5 x 11) handwritten notes • 1 Written Final – 2 sides of one page of handwritten notes (the final may have an on computer portion).
Lab Write-ups • Answer Questions • Include Specified Code • Code must be well commented • Please print code in a Courier-esqe font • Cover Page (See Polylearn for an Example) • Lab Number • Your name • Date • Place to sign that says you did the work yourself • Demo signature line (for me) • Be Professional!!!
Questions??? Let’s talk about binary and hexidecimal… 1001 1101 0010 0101 9D25