본문 바로가기 사이드메뉴 바로가기 대메뉴 바로가기

Computer Science

Courses

System Fundamentals I
Text code : CSE220 / Credit : 4
  • Prerequisites C or higher in CSE 214 or co-requisite CSE 260 and CSE major
  • Textbook information Harris and Harris, Digital Design and Computer Architecture, Second Edition, Morgan Kaufmann, 2013. (ISBN 978-0-12-394424-5)

Credits 4
Course Coordinator

Amos Omondi

Description Introduces systems-level programming concepts using the C language and assembly language, and explores the correspondence of programming constructs in these languages. Topics include internal data representation, basic instructions and control structures, bitwise operations, arithmetic operations, memory management, pointers, function calls and parameter passing, linking, and loading. Included is an overview of computer architecture and organization topics, including von Neumann architecture, the memory hierarchy, and basics of pipelining.
Prerequisite C or higher in CSE 214 or co-requisite CSE 260 and CSE major
Course Outcomes
  • An understanding of processor organization.
  • An understanding of instruction set architectures design and complex versus reduced instruction set computers.
  • Understanding of implementation techniques such as number representations,  computer arithmetic, processor data paths, pipelining.
  • An ability to program in assembly language and understand the relationship to processor design.
Textbook

Harris and Harris, Digital Design and Computer Architecture, Second Edition, Morgan Kaufmann, 2013.  (ISBN 978-0-12-394424-5)

Major Topics Covered in Course
  • Internal Number Representation
  • Basic Memory Organization: Bits, Bytes, Words, ASCII
  • Overview of MIPS, Instruction cycle, processor registers.
  • Assembly language: Loops, conditional branching, addressing modes
  • Assembly language: Register convention, function calls, parameter passing.
  • Assembly language: 2-pass assembly process, linking and loading
  • Introduction to Digital Logic: Boolean Algebra, digital circuit design
  • Instruction Set Architecture - RISC/CISC/Hybrid
  • Arithmetic Logic Units
  • Processor Datapath and Control Path Design
  • Processor pipelining
Laboratory Projects
  • Assembly language program that deals with strings, arrays, ASCII code, and simple arithmetic. (0.5 weeks)
  • Assembly language program(s) with nested function calls, parameter passing and register conventions. (1 week)
  • Assembly language program that deals with 2D arrays (0.5 weeks)
  • Assembly language program that deals with stack and recursion (0.5 weeks)
  • Assembly language progeram that deals with bit manipulations using logical and shift instructions. (0.5 weeks)
Course Webpage

CSE220

 

Amos Omondi img
Amos Omondi
  • PositionProfessor / Undergraduate Program Director / Associate Chair
  • OfficeRoom B422