Feb 24, 2020  
2019 - 2020 Cowley College Academic Catalog 
    
2019 - 2020 Cowley College Academic Catalog

CIS1909 ASSEMBLY LANGUAGE PROGRAMMING COURSE PROCEDURE


CIS1909 ASSEMBLY LANGUAGE PROGRAMMING

3 Credit Hours

Student Level:  

This course is open to students on the college level in either the Freshman or Sophomore year.

Catalog Description:

CIS1909 - Assembly Language Programming (3 hrs.)

This course will introduce students to various concepts involved in assembly language programming.  These topics include computer hardware organization, digital data, writing assembly programs, debugging, commenting, analyze solutions needing assembly language, and integration with other languages

Course Classification:

Lecture

Prerequisites:

CIS1876 - C Programming

Controlling Purpose:

This course is designed to provide an introduction to assembly language programming.  These concepts provide a foundation for future studies in courses related to engineering and computer engineering.

Learner Outcomes:

Upon completion of the course, the student will be able to explain a computer’s instruction set, change binary digital data, design assembly language solutions, write assembly language programs including various programming elements, and integrate assembly language with a higher level programming language.

Unit Outcomes for Criterion Based Evaluation:

The following outline defines the minimum core content not including the final examination period.  Instructors may add other material as time allows.

UNIT 1: Processor Systems

Outcomes:  The student will be able to explain the significance of processor systems in relation to programming.

  • Explain processor systems
  • Explain program preparation
  • Outline the general form of processor systems
  • Describe processor operation
  • Explain transfers to and from the CPU
  • Describe the uses of numbers and codes
  • Explain the connection between program development and processor systems

UNIT 2: Software Engineering

Outcomes: The student will be able to describe the process of software engineering in information technology

  • Describe program specification
  • Explain the design processes for complex system
  • Define the operation of programs and modules
  • Represent program control structures graphically
  • Explain the role of data
  • Describe the software design process
  • Outline top down design
  • Describe the facets of testing

UNIT 3:  Basics of Assembly Language

Outcomes: The student will be able to use the basic components to write simple assembly language programs.

  • Describe the methodology of assembly language programming
  • Explain instruction action
  • Explain instruction definition
  • Use basic operands
  • Use program comments, directives, and labels
  • Use simple instructions along with pseudo instructions

UNIT 4: Sequencing

Outcomes: The student will be able to use branching in an assembly language program

  • Use branches
  • Use flags, tests, and conditional branches
  • Use conditional branching
  • Explain flag settings

UNIT 5: Program Structures

Outcomes: The student will be able to use looping in an assembly language program

  • Describe the facets of sequencing
  • Build conditional structures
  • Use simple loops with exit conditions

UNIT 6: Simple Data

Outcomes: The student will be able to explain the nature of simple data transfer and write assembly language programs to accomplish the transfer

  • Use instructions to transfer data to and from memory
  • Explain data transfer between registers and memory
  • Explain addressing modes
  • Use byte size values
  • Explain assembly language data
  • Use assembly language data for simple data

UNIT 7: Program Modules

Outcomes: The student will be able to write assembly language programs that implement a modular approach

  • Describe subroutines
  • Explain stacks
  • Use subroutines
  • Describe the safe use of stacks
  • Use testing in subroutines

UNIT 8: Manipulating Bits and Bit Patterns

Outcomes: The student will be able to write assembly language programs that use various methods to manipulate bits and bit patterns.

  • Explain logical instructions, masking, bit forcing, <shifter_operand> forms
  • Use logical instructions
  • Use masking and bit forcing
  • Use various forms of <shifter_operand>

UNIT 9: Arithmetic Operations

Outcomes: The student will be able to explain number representation and write programs to perform arithmetic operations.

  • Describe number representation
  • Perform arithmetic operations with numbers in two representations
  • Explain integer forms that do not use 32-bits
  • Use multiplication and division

UNIT 10: Input and Output (IO)

Outcomes: The student will be able to write assembly language programs to perform input and output operations

  • Explain simple IO, serial IO, and aspects of IO
  • Use simple IO
  • Use serial IO
  • Explain input from switches and external events
  • Explain timing of IO actions

UNIT 11: Advanced Topics

Outcomes: The student will be able to integrate assembly language into a higher level programming language

  • Explain advanced assembler features
  • Use assembler arithmetic
  • Explain high level and mixed language programming
  • Use techniques to integrate assembly language with a higher level language

Projects Required:

Varies, refer to syllabus.

Textbook:

Contact Bookstore for current textbook.

Materials/Equipment Required:

None

Attendance Policy:

Students should adhere to the attendance policy outlined by the instructor in the course syllabus.

Grading Policy:

The grading policy will be outlined by the instructor in the course syllabus.

Maximum class size:

Based on classroom occupancy

Course Time Frame:

The U.S. Department of Education, Higher Learning Commission and the Kansas Board of Regents define credit hour and have specific regulations that the college must follow when developing, teaching and assessing the educational aspects of the college.  A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally-established equivalency that reasonably approximates not less than one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work for approximately fifteen weeks for one semester hour of credit or an equivalent amount of work over a different amount of time.  The number of semester hours of credit allowed for each distance education or blended hybrid courses shall be assigned by the college based on the amount of time needed to achieve the same course outcomes in a purely face-to-face format.

Refer to the following policies:

402.00 Academic Code of Conduct

263.00 Student Appeal of Course Grades

403.00 Student Code of Conduct

Disability Services Program:

Cowley College, in recognition of state and federal laws, will accommodate a student with a documented disability.  If a student has a disability which may impact work in this class and which requires accommodations, contact the Disability Services Coordinator.