This course provides a programmer's view of how computer systems execute, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability, and robustness. Topics include Boolean logic, data representation, processor organization, input/output, memory organization, system support software and communication.
This course is recommended for students in their 2nd semester, freshman year, or for students outside of the major with some programming experience.
By the end of the course students will be able to:
- demonstrate their knowledge of the core essentials of computer architecture
- define how different computer architectures impact programming methods
- define different computer architectures and their primary uses
- write programs that demonstrate different features of the architecture,
- enumerate several optimization methods that must be considered when building applications based on limitations of the architecture
Students are expected to attend every session and arrive prepared before class begins. Since you are here to learn, it is important that you participate in class. Students are expected to engage in class discussions based on the assigned reading material and related programming topics. It is the departmental policy that 3 absences or more will result in automatic failure of this class. In the event of an absence, it is your responsibility to find out what material was covered during that class session. Two late-arrivals (after the beginning of class) equals 1 absence.
Quizzes, exams, in-class projects and homework that are missed cannot be made up, unless prior permission has been obtained from the instructor.
It is not appropriate to smoke, eat food, listen to stereos, or have any electronic device distract the classroom environment. Please turn off all electronic devices including cell phones before entering the classroom.
In line with Columbia’s Student Code of Conduct, students are reminded that Columbia expects students to treat each other, faculty, and staff with respect. Harassment of any kind is forbidden, as is exposing students or faculty to material and images that might be considered offensive.
There will be a midtrm and a final exam
A MINIMUM grade of C is required in order for this course to count toward your major in Interactive Arts and Media. If you do not complete the course with a C or better, you will be required to re-enroll in the course until you reach this benchmark. Be advised that if this course is a prerequisite for other courses, that the failure to achieve a grade of C or better WILL impede the progress of your studies
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold, ISBN 073940752X
Computer Systems: A Programmers Perspective by Randal Bryant and David O’Hallaron, ISBN 013034074X
Students with disabilities are requested to present their Columbia accommodation letters to their instructor at the beginning of the semester so that accommodations can be arranged in a timely manner by the College, the department or the faculty member, as appropriate. Students with disabilities who do not have accommodation letters should visit the office of Services for Students with Disabilities in room 520 of the Congress building (312.344.8134/V or 312.360.0767/TTY). It is incumbent upon the student to know their responsibilities in this regard.