UCSD Main Website
UCSD Jacobs School
Department of Computer Science and Engineering
About CSE CSE People Faculty Graduate Education Undergraduate Education Department Administration Contact CSE
spacer gif
spacer gif
Undergraduate Education
spacer gif spacer gif spacer gif
spacer gif
Search
spacer gif spacer gif spacer gif
 
 
Google
spacer gif spacer gif
spacer gif
spacer gif
spacer gif
spacer gif
spacer gif spacer gif
Home » Undergraduate Education » Courses » Course Descriptions
spacer gif

Undergraduate Course Descriptions

The CSE Department strives to keep this page up to date. If a CSE course description is not found here go to UCSD's General Catalog.

Graduate Course Descriptions
Deleted Undergraduate Course Descriptions

CSE30 – Computer Organization and Systems Programming

Units: 4

Course Objectives:
This course gives an introduction to computer organization of modern digital computers, from the basic stored program model attributed to John von Neumann in the 1940s. The influence of these principles can be found in almost every computer which is in use these days, and they will lead the student to an understanding of the various components of a computer and their inter-relationships. We will use a specific machine to study computer architecture at the assembly language and C interface level. We are currently using Sun workstations and their SPARC series microprocessor to familiarize students with machine-oriented programming. Efficient and portable high-level language software engineering is achieved by understanding comparative architecture-dependent implementations of various constructs and mechanisms, such as stack frame implementation within the runtime environment (text/data/BSS/ heap/stack) and internal storage representations (including byte ordering and number of bytes of an object on different architectures). Programming assignments using C and assembly languages with some emphasis on UNIX systems programming will be used to reinforce these concepts.

Course Description:
Introduction to organization of modern digital computers - understanding the various components of a computer and their interrelationships. Study of a specific architecture/machine with emphasis on systems programming in C and Assembly languages in a UNIX environment.

Format:
Per week: 3 hours of lecture, 3 hour of discussion sections, 5 hours of computer lab, and 2 hours of outside preparation.

Prerequisites:
CSE 12, CSE 15L, and CSE 20 or Math 15A, or consent of the instructor.

Other restrictions:

Example Textbook(s):
SPARC Architecture, Assembly Language Programming & C, 2nd Edition, Richard P. Paul, Prentice Hall, 1999.

Laboratory work:
4 to 5 programming assignments using C and assembly languages to familiarize the student with a particular architecture at the C/assembly and assembly/hardware levels with emphasis on the runtime environment, to include the structure and use of stack frames and how they support conventions of C/assembler routines calling each other, recursion, dynamic memory management, etc. With the understanding of a specific architecture implementation and general comparisons of other architectures, students should gain the knowledge and skills necessary to produce more efficient and portable high-level language code throughout their careers. These programming assignments will also emphasize concepts in UNIX systems programming. This course assumes a good working knowledge of C programming.

Offered:
Every quarter: Fall, Winter, and Spring.

spacer gif
spacer gif
spacer gif back to top ^
spacer gif
spacer gif
spacer gif
spacer gif
9500 Gilman Drive, La Jolla, CA 92093-0404
spacer gif
About CSE | CSE People | Faculty & Research | Graduate Education | Undergraduate Education
Department Administration | Contact CSE | Site map | Home
webmaster@cs.ucsd.edu
Official web page of the University of California, San Diego
Copyright © 2009 Regents of the University of California. All rights reserved.
spacer gif