SRJC Course Outlines

11/21/2024 12:36:52 AMCS 12 Course Outline as of Fall 2019

Changed Course
CATALOG INFORMATION

Discipline and Nbr:  CS 12Title:  ASSEMBLY LANG PROG  
Full Title:  Assembly Language Programming/Computer Architecture
Last Reviewed:1/28/2019

UnitsCourse Hours per Week Nbr of WeeksCourse Hours Total
Maximum4.00Lecture Scheduled4.0017.5 max.Lecture Scheduled70.00
Minimum4.00Lab Scheduled06 min.Lab Scheduled0
 Contact DHR0 Contact DHR0
 Contact Total4.00 Contact Total70.00
 
 Non-contact DHR0 Non-contact DHR Total0

 Total Out of Class Hours:  140.00Total Student Learning Hours: 210.00 

Title 5 Category:  AA Degree Applicable
Grading:  Grade Only
Repeatability:  00 - Two Repeats if Grade was D, F, NC, or NP
Also Listed As: 
Formerly:  CIS 22

Catalog Description:
Untitled document
Introductory computer architecture and techniques of assembly language programming as they apply to modern microprocessors such as I-86, ARM and/or PowerPC. Topics include theory and concepts of virtual memory, pipelines, caches, and multitasking, hardware architecture (bus, memory, stack, I/O, interrupts), design of structured assembly language code, use of software interrupts, survey arithmetic notations (binary, hexadecimal, floating- point, binary-coded decimal), input/output, and disk processing concepts.

Prerequisites/Corequisites:
Course Completion of CS 10B


Recommended Preparation:

Limits on Enrollment:

Schedule of Classes Information
Description: Untitled document
Introductory computer architecture and techniques of assembly language programming as they apply to modern microprocessors such as I-86, ARM and/or PowerPC. Topics include theory and concepts of virtual memory, pipelines, caches, and multitasking, hardware architecture (bus, memory, stack, I/O, interrupts), design of structured assembly language code, use of software interrupts, survey arithmetic notations (binary, hexadecimal, floating- point, binary-coded decimal), input/output, and disk processing concepts.
(Grade Only)

Prerequisites:Course Completion of CS 10B
Recommended:
Limits on Enrollment:
Transfer Credit:CSU;UC.
Repeatability:00 - Two Repeats if Grade was D, F, NC, or NP

ARTICULATION, MAJOR, and CERTIFICATION INFORMATION

Associate Degree:Effective:Inactive:
 Area:
 
CSU GE:Transfer Area Effective:Inactive:
 
IGETC:Transfer Area Effective:Inactive:
 
CSU Transfer:TransferableEffective:Fall 1982Inactive:
 
UC Transfer:TransferableEffective:Fall 1982Inactive:
 
C-ID:
 CID Descriptor: COMP 142 Computer Architecture and Organization SRJC Equivalent Course(s): CS12

Certificate/Major Applicable: Major Applicable Course

Approval and Dates
Version:011Course Created/Approved: 8/1/1981
Version Created:10/26/2017Course Last Modified:6/2/2024
Submitter:Dave HardenCourse Last Full Review:1/28/2019
Version Status:Approved Changed CoursePrereq Created/Approved:1/28/2019
Version Status Date:1/28/2019Semester Last Taught:Spring 2024
Version Term Effective:Fall 2019Term Inactive:


COURSE CONTENT

Student Learning Outcomes:
At the conclusion of this course, the student should be able to:
Untitled document
1.  Describe concepts of virtual memory, pipelines, caches, and multitasking, hardware
    architecture (bus, memory, stack, Input/Output (I/O), interrupts).
2.  Apply structured assembly language code, use of software interrupts, survey arithmetic
    notations (binary, hexadecimal, floating- point, binary-coded decimal), input/output,
    and disk processing concepts.
3.  Code, assemble, link, and debug Assembly Language programs, including an interrupt
    handler.
4.  Demonstrate how fundamental high-level programming constructs are implemented at the
    machine-language level.

Objectives: Untitled document
At the conclusion of this course, the student should be able to:
1. Distinguish and categorize the architectural components of a microcomputer.
2. Apply microcomputer design principles to identify architectural components of the Intel
    family of microprocessors and demonstrate ability to utilize microcomputer capabilities
    through assembly language programs.
3. Create a complete set of source modules using standard design tools.
4. Prepare executable assembly language programs which include at least one subroutine library
    module.
5. Create programs which carry out binary arithmetic operations, floating-point, and BCD
    (binary-coded decimal).
6. Demonstrate ability to convert numbers to and from decimal, binary, octal, and hexadecimal.
7. Use three BIOS (basic input-output system).
8. Write an interrupt handler.

Topics and Scope
Untitled document
I. Assembly Language Environment
    A. Software design process
    B. Programming tools
         1. editors
         2. assemblers
         3. debuggers
         4. source modules
    C. Hardware environment
         1. networking
         2. workstations
         3. peripheral devices
    D. Assembly language overview
         1. general syntax notation
         2. instruction categories
         3. high-level language interface
         4. sub-routine library modules
II. Data Types and Number System
    A. Numeric data
         1. number system
              a. binary, decimal, octal, hexadecimal
              b. number system conversions
         2. arithmetic notation
              a. binary, signed and unsigned
              b. floating point
              c. two's complement
              d. BCD (binary-coded decimal)
    B. Character data
    C. ASCII (American Standard Code for Information Interchange)
         character set
III. Computer Architecture
    A. Microprocessors
    B. Data, control, address bus
    C. Registers
    D. Memory
    E. Stack
    F. Interrupts
    G. Peripheral device I/O
    H. Virtual memory
    I. Pipelines and caches
    J. CISC (complex instruction set computer) versus RISC (reduced
         instruction set computer)
IV. Instruction Set
    A. Addressing modes
    B. Data transfer instructions
    C. Software interrupt structure
    D. Arithmetic operations
    E. Control structures
    F. Stack operations
    G. String operations
V. Peripheral Device Access
    A. Graphics displays
    B. Disk I/O
    C. Standard list device
VI. Von Neumann Machine

Assignments:
Untitled document
1. Read approximately 25 pages per week from textbook
2. Programming exercises:
    a. Hierarchy charts and structured flowcharts
    b. Code, assemble, link, and debug approximately 10 Assembly Language programs,
         including an interrupt handler
3. Write technical documentation to accompany programs
4. Two to four quizzes and exams

Methods of Evaluation/Basis of Grade.
Writing: Assessment tools that demonstrate writing skill and/or require students to select, organize and explain ideas in writing.Writing
0 - 10%
Written documentation
This is a degree applicable course but assessment tools based on writing are not included because problem solving assessments are more appropriate for this course.
Problem solving: Assessment tools, other than exams, that demonstrate competence in computational or non-computational problem solving skills.Problem Solving
40 - 60%
Programming exercises
Skill Demonstrations: All skill-based and physical demonstrations used for assessment purposes including skill performance exams.Skill Demonstrations
0 - 0%
None
Exams: All forms of formal testing, other than skill performance exams.Exams
40 - 60%
Quizzes and exams
Other: Includes any assessment tools that do not logically fit into the above categories.Other Category
0 - 10%
Attendance and participation


Representative Textbooks and Materials:
Untitled document
x86-64 Assembly Language Programming with Ubuntu (1.1.14). Jorgensen, Ed. 2018
Introduction to Computer Organization: ARM Assembly Language Using the Raspberry Pi. Plantz, Robert. 2017

OTHER REQUIRED ELEMENTS

Student Preparation
 Matric Assessment Required:XExempt From Assessment
 Prerequisites-generate description:AAuto-Generated Text
 Advisories-generate description:NANo Advisory
 Prereq-provisional:NNO
 Prereq/coreq-registration check:YPrerequisite Rules Exist
 Requires instructor signature:NInstructor's Signature Not Required
   
BASIC INFORMATION, HOURS/UNITS & REPEATABILITY
 Method of instruction:02Lecture
 71Internet-Based, Simultaneous Interaction
 72Internet-Based, Delayed Interaction
 Area department:CSComputer Studies
 Division:72Arts & Humanities
 Special topic course:NNot a Special Topic Course
 Program Status:1Major Applicable Course
 Repeatability:00Two Repeats if Grade was D, F, NC, or NP
 Repeat group id:  
   
SCHEDULING
 Audit allowed:NNot Auditable
 Open entry/exit:NNot Open Entry/Open Exit
 Credit by Exam:NCredit by examination not allowed
 Budget code: Program:0000Unrestricted
 Budget code: Activity:0701Computer & Information Science
   
OTHER CODES
Disciplines:Computer Science
 Basic Skills:NNot a Basic Skills Course
 Level below transfer:YNot Applicable
 CVU/CVC status:YDistance Ed, Not CVU/CVC Developed
 Distance Ed Approved:YExclusively online or other technology based instruction
 Emergency Distance Ed Approved:N
 Credit for Prior Learning:NAgency Exam
NCBE
NIndustry Credentials
NPortfolio
 Non-credit category:YNot Applicable, Credit Course
 Classification:YLiberal Arts and Sciences Courses
 SAM classification:ENon-Occupational
 TOP code:0706.00Computer Science (Transfer)
 Work-based learning:NDoes Not Include Work-Based Learning
 DSPS course:NNO
 In-service:NNot an in-Service Course

Print PDF