CSCI 261 - Computer Architecture and Assembly Language
Fall 2023 Course Outline


Contact Information

Timetable

Website and Learning Management Systems

Assessment

Lab & Lecture Pass Requirement

Students will receive a single, final grade assessing their performance in the lab and lecture components combined. Students must achieve separate passing grades in the laboratory component and in the lecture component of the course in order to be able to earn an overall passing grade in the course. Laboratory component includes all assignments. Lecture component includes midterm and final examinations.

As per Policy 95.05, if all laboratory grades are known prior to the final examination, students who have not obtained a grade of at least "D" may not be permitted to write the examination.

Calendar Description

An introduction to computer organization, and machine and assembly languages. Topics include data representation, the instruction set and addressing modes of a chosen processor, procedures and parameter passing, and the use of operating system services. (3:0:1)

Prerequisites

Min. "C" in CSCI 161.

Texts

  1. Computer Organization and Architecture by William Stallings.
  2. Computer Organization and Design ARM Edition by David Patterson and John Hennesy.
  3. Modern Assembly Language Programming with the ARM Processor by Larry Pyeatt.

Topics

  1. Computer Number System: Decimal, Binary, and Hexadecimal
  2. Computer Representation of Data
    1. Character (ASCII)
    2. Integer Number (Unsigned and Signed)
    3. Real Number (Fixed Point and Floating Point, IEEE 754)
  3. Computer Arithmetic Operations
    1. Integer Addition, Subtraction, Multiplication, and Division
    2. Floating Point Addition, Subtraction, Multiplication, and Division
  4. Computer Logical Operations
    1. NOT, AND, OR, EOR, LSL, ROL, ROR, ASL, and ASR
  5. Computer Instructions
    1. Opcodes
    2. Operands
  6. Computer Organization
    1. Components and Organization (Von Nueman Architecture, aka Turing Machine)
    2. Instruction Cycles: Fetch and Execute
    3. Instruction Set Architecture
      1. Data Transfer Instructions
      2. Conditional and Unconditional Branch Instructions
      3. Arithmetic and Logical Instructions
  7. Concept of Addressing Modes
    1. Immediate
    2. Direct
    3. Indirect
    4. Register
    5. Register Indirect
    6. Displacement
      1. Relative
      2. Base Register
      3. Indexing
    7. Stack
  8. ARM Processor
    1. Smplified ARM Processor Organization
    2. ARM Registers
    3. ARM Instruction Set Architecture
      1. Data Transfer (Load and Store) Instructions
      2. Data Processing (Arithmetic and Logic) Instructions
      3. Conditional and Unconditional Branch Instructions
  9. GNU Assembly Language and ARM Development Studio (DS)
    1. GNU Assembler
    2. ARM DS Project Debugging with Virtual Fixed Platforms (VFP) Simulator
  10. GNU Assembly Programming with ARM8 64bit Architecture Instruction Set.
    1. Selection
    2. Iteration
    3. Functions Calling and Function Writing
    4. Array and Structure Data Types

Learning Outcomes

After completing this course, students will be able to

Attendance Requirements

Students are expected to attend scheduled lectures, laboratories, field trips, seminars, examinations, practica and work experience. The University reserves the right to cancel registration in any course or program because of lack of attendance (where attendance is deemed by the Department to be important). VIU reserves the right to cancel any student's registration in a course if the student does not attend the first scheduled session of a course andt notify the instructor or area secretary.

Absenteeism

Students are responsible for all material presented and discussed in lecture, in addition to assigned readings and homework problem. It is entirely the students' responsibility to recover any information or announcements presented in lectures from which they were absent by speaking to their fellow students. Students who are absent should contact their instructors as soon as possible and report to their instructors again on return to classes. Extended absence from courses or program should be discussed with each instructor or program coordinator involved. Students are responsible for contacting their instructors, either directly or through the assistance of staff in the office of the appropriate Dean, as soon as an extended absence becomes apparent. Specific regulations exist for absences due to illness, death in the family, religious observances, and VIU official sporting teams. In cases of religious observance and sporting events, discussion on the impact of your absence with your instructor need to occur at least two-weeks in advance of the absence.

Labs and Lab Attendance Requirements

You must be enrolled in, and you must fully participate in, the weekly lab sessions. You must know C programming language and basic UNIX and GIT commands. To work on your labs and assignments, you will be given accounts for the computing science labs. There is a user id and password associated with each account. The appropriate use of these accounts are necessary.

Student Code of Conducts

It is expected that students will treat one another and the instructor with respect and dignity at all times. Alcohol and drug use is prohibited during any course period, and in the hours prior to any laboratory/field/practicum period where impaired functioning is a safety hazard.

Appeals of Grades:

Any exercise or examination grade may be appealed. However, the appeal must be made to the instructor, in writing and attached to the work in question, and within 7 days of the grade being made available to the class. The instructor reserves the right to re-grade the entire piece of work submitted on appeal, not necessarily just the component that the student believes is in error.

Complaints

The best method for handling a problem with this course is to speak directly with course instructor. If this does not resolve the problem, or does not seem feasible, students should discuss the problem with the program Chair, or Dean/Associate Dean. Your Student Union (VIUSU) employs an independent Student Advocate who can also help you navigate any challenges at VIU.



Grade Conversion:

The following grade scale will be used:

Percentage(%)

Letter Grade

Grade Point

90-100

A+

4.33

85-89

A

4.00

80-84

A-

3.67

76-79

B+

3.33

72-75

B

3.00

68-71

B-

2.67

64-67

C+

2.33

60-63

C

2.00

55-59

C-

1.67

50-54

D

1.00

0-49

F

0.00




Academic Integrity Statement

It is expected that students will know and abide by the VIU's policy on Student Academic Code of Conduct (Policy 96.01). All students taking this course are subject to the Vancouver Island University Student Academic Code of Conduct Procedure.

Standards of Academic Integrity include, but are not limited to:

EDI Statement

VIU values human diversity in all its dimensions and is committed to achieving and ensuring learning and working environments that are equitable, diverse and inclusive.

Services Available to Students with a Documented Disability

VIU's Disability Access Services (DAS) provides services to students with Learning Disabilities, Mental Health Disabilities, Attention Deficit Hyperactivity Disorder, Autism, chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a documented disability requiring academic accommodations in this course but are not yet registered with Disability Access Services, please contact them at disabilityaccessservices@viu.ca or visit them in BLDG 200 (2nd floor). If you are already registered with DAS, please provide me with your accommodation letter, either in person during my office hours, or by email.

Computer Science Help Centre

Computer Science Help Centre, provides a safe place for lower-level computer science students to get help from upper-level computer science students. Help Centre staffs are available for 1.5 hour blocks, 5 days a week in the first year lab (Building 315, Room 102) throughout both the fall and spring semesters. Students seeking help get timely assistance with common challenges (like running programs, fixing bugs, and other technical difficulties). Students needs to work on their assignments and projects themselves.

Other Supports (Advising, Counselling, Writing Center, Math Learning Centre, Accessibility Services)

VIU hosts numerous Learning Supports for student success and you are encouraged to take advantage of them. Links to each can be found at https:www.viu.ca/students. Students are strongly encouraged to review the information provided by Accessibility Services, Advising, Counselling, Math Learning Centre, the Office of Indigenous Education and Engagement, and the Writing Center.



Copyright

Course materials should not be reproduced, placed in the public domain, given to others not registered in this course, or sold.