Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


Syllabus: CS 17– Assembly Language Programming


Professor M. Haghoo

● Contact Information:

● Canvas email

● Virtual (Zoom) Office Hours: W 8:00-9:00 PM


Course Description This course covers programming in Assembly language. It is based on Intel 80x86 CPU architecture. The course covers both concepts and programming.


Pre-requisite: CS 50 (or C++, or Java)


Course Website: Login to Canvas for course schedule, assignments and instructions


Textbook

The Art of Assembly Language, 2nd Edition, by Randall Hyde

ISBN: 9781593272074

Textbook is required.

The textbook is available on the bookstore and Internet.

Instructor will provide some reading materials.

Chapter 1 of the textbook is posted on Modules section (on Canvas).


Required Software

● You will be using shareware software specifically targeted for Pentium CPU-based computers.

● To use a Mac, you will need to have an Intel-based Mac. There is a Mac version of the software for this class. Or, you can load Windows onto your Mac, boot into Windows and act like a Windows machine.

● It is very important that you acquire and install the software right away to iron out any potential issues with the hardware you intend to use in this class. The students have used it with Linux, and all Windows versions.

● See Section 1.2, Page 4 (of the textbook) for obtaining, installing, and using the HLA software. Chapter 1 of the textbook is posted on Modules section.

● See Discussion1 (D1: Software Issues) to ask or answer questions regarding installation and use of HLA software.

● Software is available at SMC Computer Science lab.


Course Objectives

1. Design and construct assembly language programs

2. Examine the capabilities of the microcomputer and its machine level operations

3. Design and develop the ability to solve computer programs in Assembly Language by planning, coding, testing and debugging problems

4. Construct a flowchart of the programming logic exhibited by a program


Student Learning Outcomes:

● Apply various programming concepts including control flow, looping, conditional statements and elementary data structures to create software applications.

● Design and create programs written in Assembly Language.