Syllabus - CS-CSIF

advertisement
ECS 50
Name
Sean Davis
Course Syllabus
Summer 2015
Title
E-mail
Lecturer ssdavis@ucdavis.edu
Room
Office Hours
3052 Kemper M 10-11:15, 1-2; W 10-12, 1-2; R 8-10:30; and by
appointment.
Ahsan Abdullah Reader ahsan.abdullah92@gmail.com None
None
Web page: http://csiflabs.cs.ucdavis.edu/~ssdavis/50/homepage.html
Newsgroup: https://piazza.com/class#summer2015/ecs50
E-mail to Sean should only be regarding personal matters, and must come from an ucdavis.edu e-mail account or with
ECS in the subject. All course questions should be posted to the piazza newsgroup.
Required Materials: G. Karam and J. Bryant, Principles of Computer Systems, 1992, Prentice Hall, Englewood Cliffs,
New Jersey.
Prerequisite: ECS 40 with a C- or better.
Description:
Comparative study of different hardware architectures, via programming in the assembly languages of various machines.
Role of system software in producing an abstract machine. Only one unit credit allowed for students who have taken EEC
70.
Course Objectives:
1. Students will be able to provide the various data representations used in computers for data types and memory
addresses, including segmented address forms.
2. Students will be able to compare and contrast the instruction sets, addressing modes, and register sets of at least
one CISC architecture and one RISC architecture.
3. Students will be able to describe how compilers and operating systems facilitate machine independent
programming.
4. Students will be able to write mixed C-language and assembly language programs, and understand the underlying
speed Vs. flexibility trade-offs of such programs.
Approximate Course Grading:
Homework
35%
Midterm #1
15%
Midterm #2
25%
Final
25%
Class participation/discussion attendance/newsgroup help/office hour visits 5% (extra credit)
Letter grades will be approximately: A = 90+% ; B = 80-89%; C = 70-79%; D = 60-69%; F = <60%
Homework:
The deadline for each of the five assignments will be announced in class. Each homework assignment will be comprised
of both natural and assembly language problems from the book, as well as some new programs. You will turn in written
homework to the homework box in 2131 Kemper. You will use handin to submit programming assignments to the cs50
account. Late work is NOT accepted without an e-mail medical excuse from the Health Center. Don't even try to hand in
any work late. BEWARE! You thought getting your program to compile and running in C++ was hard, wait until you try
to write and debug assembly code! The code is much more cryptic, and can get totally confusing. DO NOT
PROCRASTINATE!!! Except for the last assignment, you will have one week from the date of return to submit a test,
program, or written homework for regrading. In the case of programs, you will have five minutes during my office hours
to make changes in your previously submitted program, and then have the program retested.
Discussion:
Discussions will be the last non-test slot each week. See the tentative schedule on the back.
Exams:
All exams are open book, open note, and cumulative. The final exam is Wednesday, July 29th, 8:00—9:40 in 212
Wellman.
TENTATIVE CLASS OUTLINE
Date
Reading
6/22 AM
Chapter 1
6/22 PM
Chapter 2
6/23
Chapter 3
6/24
None
6/29 AM
Chapter 4
6/29 PM
Chapter 5
6/30
Chapter 6
7/1
None
7/6 AM Chapters 7 & 8
7/6 PM
Chapter 8
7/7
None
7/8
None
7/13 AM
Chapter 11
7/13 PM
Chapter 11
7/14
Handout
7/15
None
7/20 AM
Handout
7/20 PM
Handout
7/21
None
7/22
None
7/27 AM
Handout
7/27 PM
Handout
7/28
None
7/29
None
Topics
Introduction, Data and Their Representations
Computer Organization
Instruction Set
Catch-up/ Discussion
The Assembler
Indexed Addressing
The Stack and Frame Registers
Catch-up / Discussion
Character Manipulation, I/O Organization
Interrupts and buffers.
Catch-up / Discussion
Midterm #1, Chapters 1-6
Intel 8086 Architecture, Memory Access
8086 Procedures, Strings, I/O, Arithmetic
Modern x86
Discussion
x86 subroutines
RISC vs CISC and Intro to MIPS
Discussion
Midterm #2, Chapters 1-8
MIPS cont’d.
MIPS cont’d / History of hardware
Discussion and review
Final
Download