0% found this document useful (0 votes)
7 views

Computer-Systems-Organization-Course-Description-and-Syllabus-Spring2023

The course 'Computer Systems Organization' at New York University covers the internal structure of computers, assembly language programming, and high-level language features related to assembly. Students will learn about computer architecture, memory systems, and dynamic memory allocation, with programming assignments in both assembly and C. Grading is based on lab assignments, homework, quizzes, and exams, with a strict policy on attendance and exam make-ups.

Uploaded by

yuhuan.zhang0316
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Computer-Systems-Organization-Course-Description-and-Syllabus-Spring2023

The course 'Computer Systems Organization' at New York University covers the internal structure of computers, assembly language programming, and high-level language features related to assembly. Students will learn about computer architecture, memory systems, and dynamic memory allocation, with programming assignments in both assembly and C. Grading is based on lab assignments, homework, quizzes, and exams, with a strict policy on attendance and exam make-ups.

Uploaded by

yuhuan.zhang0316
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

NEW YORK UNIVERSITY

COMPUTER SCIENCE DEPARTMENT


COURANT INSTITUTE OF MATHEMATICAL SCIENCES

COMPUTER SYSTEMS ORGANIZATION

Spring 2023 – Pr. Jean-Claude FRANCHITTI

(CSCI-UA.0201-007 – Mon & Wed 3:30 - 4:45 pm)

COURSE DESCRIPTION:

This course covers the internal structure of computers, machine (assembly) language
programming, and the use of pointers in high-level languages. Topics include the logical
design of computers, computer architecture, the internal representation of data,
instruction sets, and addressing logic, as well as pointers, structures, and other features
of high-level languages that relate to assembly language. Programming assignments will
be both in assembly language and other languages. After this course, you should be able
to understand what happens under the hood when your computer executes programs. You
will be able to visualize the big picture that shows how software and hardware interact.

REQUIRED TEXTBOOK

Computer Systems: A Programmer's Perspective


By Randal Bryant and David O'Hallaron
Pearson; ISBN-10: 013409266X; ISBN-13: 978-0134092669
3rd Edition (03/15)

RECOMMENDED TEXTBOOKS

The following book is not required but recommended to learn C programming:

The C programming language


By Brian W Kernighan and Dennis Ritchie
Prentice Hall; ISBN-10: 0131103628; ISBN-13: 978-01311103627
2nd Edition (04/88)

PREREQUISITES

Students enrolling in this course are expected to have taken CSCI-UA.102 (i.e., Data
Structures) and passed the course with a grade of C or better. You are expected to know and
remember the material from CSCI.UA.0101 and CSCI.UA.0102 courses.

COURSE TOPICS

The following topics are covered in this course:

1. C PROGRAMMING LANGUAGE
1|Page
• Procedural way of thinking
• Data structure and control
• Bitwise operations
• Pointers
• Data Presentation
• Signed and unsigned numbers
• Two’s complement
• Addition/subtraction of signed and unsigned numbers
• IEEE 754 floating point presentation

READINGS: Selected readings assigned in class


Handouts posted on the course Web site

2. x86_64 ASSEMBLY LANGUAGE

• Do you really need to learn assembly?


• CISC vs, RISC philosophy
• Evolution of processors from 8-bit to 64-bit
• Data movement
• Arithmetic/logic instructions
• Control instructions
• From C to assembly

READINGS: Selected readings assigned in class


Handouts posted on the course Web site

3. LINKING

• The big picture from compilation to execution

READINGS: Selected readings assigned in class


Handouts posted on the course Web site

4. ARCHITECTURE

• How do microprocessors work?

READINGS: Selected readings assigned in class


Handouts posted on the course Web site

5. MEMORY SYSTEM

• A quick glimpse on Virtual Memory


• SRAM vs DRAM technologies
• The concept of caching
• Cache hierarchy
• How to write cache friendly programs?

2|Page
READINGS: Selected readings assigned in class
Handouts posted on the course Web site

6. DYNAMIC MEMORY ALLOCATION

• Main algorithms of dynamic memory allocation


• Managed vs unmanaged languages

READINGS: Selected readings assigned in class


Handouts posted on the course Web site

7. PROCESSES and CONCURRENCY (time permitting)

• Process vs thread
• How to spawn several processes and control them

READINGS: Selected readings assigned in class


Handouts posted on the course Web site

COURSE READINGS

Assigned readings for the course will be from the textbook, recommended book, and other
suggested sources.

ASSIGNMENTS

• Lab and homework assignments completion will be required.


• Quizzes may be administered.
• All exams will be conducted in class.

GRADING POLICY

• 20% Lab/Project Assignments (projects will require significant amount of code in C and
assembly and corresponding solutions will need to be submitted electronically via NYU
classes by the deadline indicated)
• 10% Homework Assignments
• 5% Recitation Activities (activities will be completed during recitations; credit will only be
given to students attending the recitations and the two lowest recitation scores will be dropped
at the end of the semester)
• 5% Quizzes/Online Tests (quizzes may be given during lectures without prior notification,
there will not be make-up quizzes and the two lowest quiz scores will be dropped at the end
of the semester)
• 25% Midterm Examination
• 35% Final Examination

The midterm and final exams will be administered during the time allocated by CAS. There will
not be any make-up exams and the failure to take an exam will count as a zero grade for that
exam. The only exception to this rule is for students who have a legitimate medical or personal
documented emergency that is promptly brought up to the attention of the instructor. If you will
3|Page
miss an exam due to a religious observance, please familiarize yourself with University Calendar
Policy on Religious Holidays and let the instructor know well in advance to come up with
alternative arrangements.

The grading schema for the course is as follows:

A 95-100
A- 90-95
B+ 87-90
B 83-87
B- 80-83
C+ 76-80
C 72-76
D 65-72
F less than 65

Please note that the grade of Incomplete (“I”) is reserved for students who, for legitimate and
documented reason, miss the final exam. The grade of Incomplete will not be given to students
who fell behind in class. Those students should withdraw from the class or switch to Pass/Fail
option.

4|Page

You might also like