Syllabus Course Number: CS 370 Course Title: Assembly Programming

Similar documents
Course Specifications

GACE Computer Science Assessment Test at a Glance

Course Content Concepts

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Android App Development for Beginners

COURSE DESCRIPTION PREREQUISITE COURSE PURPOSE

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Computer Science. Embedded systems today. Microcontroller MCR

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

SAM - Sensors, Actuators and Microcontrollers in Mobile Robots

Shank, Matthew D. (2009). Sports marketing: A strategic perspective (4th ed.). Upper Saddle River, NJ: Pearson/Prentice Hall.

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

COMS 622 Course Syllabus. Note:

TUCSON CAMPUS SCHOOL OF BUSINESS SYLLABUS

Computer Organization I (Tietokoneen toiminta)

Graduate Program in Education

MGMT 479 (Hybrid) Strategic Management

BSM 2801, Sport Marketing Course Syllabus. Course Description. Course Textbook. Course Learning Outcomes. Credits.

Computer Science 1015F ~ 2016 ~ Notes to Students

WSU Five-Year Program Review Self-Study Cover Page

Introduction to Information System

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

Computer Science 141: Computing Hardware Course Information Fall 2012

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

Computer Architecture CSC

MINISTRY OF EDUCATION

LEGO MINDSTORMS Education EV3 Coding Activities

Business Computer Applications CGS 1100 Course Syllabus. Course Title: Course / Prefix Number CGS Business Computer Applications

Content Teaching Methods: Social Studies. Dr. Melinda Butler

Data Structures and Algorithms

CS 100: Principles of Computing

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

CSCI 333 Java Language Programming Fall 2017 INSTRUCTOR INFORMATION COURSE INFORMATION

Software Development: Programming Paradigms (SCQF level 8)

Physics 270: Experimental Physics

BADM 641 (sec. 7D1) (on-line) Decision Analysis August 16 October 6, 2017 CRN: 83777

CS Course Missive

LIS 681 Books and Media for Children Spring 2009

A R "! I,,, !~ii ii! A ow ' r.-ii ' i ' JA' V5, 9. MiN, ;

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Biscayne Bay Campus, Marine Science Building (room 250 D)

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

STA 225: Introductory Statistics (CT)

School: Business Course Number: ACCT603 General Accounting and Business Concepts Credit Hours: 3 hours Length of Course: 8 weeks Prerequisite: None

CS4491/CS 7265 BIG DATA ANALYTICS INTRODUCTION TO THE COURSE. Mingon Kang, PhD Computer Science, Kennesaw State University

Grade 6: Correlated to AGS Basic Math Skills

BOS 3001, Fundamentals of Occupational Safety and Health Course Syllabus. Course Description. Course Textbook. Course Learning Outcomes.

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

Houghton Mifflin Online Assessment System Walkthrough Guide

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

MBA6941, Managing Project Teams Course Syllabus. Course Description. Prerequisites. Course Textbook. Course Learning Objectives.

Maintaining Resilience in Teaching: Navigating Common Core and More Online Participant Syllabus

STUDENT MOODLE ORIENTATION

Foothill College Summer 2016

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

Course Syllabus p. 1. Introduction to Web Design AVT 217 Spring 2017 TTh 10:30-1:10, 1:30-4:10 Instructor: Shanshan Cui

Texas A&M University - Central Texas PSYK PRINCIPLES OF RESEARCH FOR THE BEHAVIORAL SCIENCES. Professor: Elizabeth K.

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

Software Maintenance

Doctoral Student Experience (DSE) Student Handbook. Version January Northcentral University

COUN 522. Career Development and Counseling

RM 2234 Retailing in a Digital Age SPRING 2016, 3 credits, 50% face-to-face (Wed 3pm-4:15pm)

Learning Microsoft Publisher , (Weixel et al)

Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles

ITSC 1301 Introduction to Computers Course Syllabus

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

TREATMENT OF SMC COURSEWORK FOR STUDENTS WITHOUT AN ASSOCIATE OF ARTS

ADMN-1311: MicroSoft Word I ( Online Fall 2017 )

COURSE INFORMATION. Course Number SER 216. Course Title Software Enterprise II: Testing and Quality. Credits 3. Prerequisites SER 215

Radius STEM Readiness TM

I. PREREQUISITE For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS APPLIED MECHANICS MET 2025

Chemistry 106 Chemistry for Health Professions Online Fall 2015

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

GIS 5049: GIS for Non Majors Department of Environmental Science, Policy and Geography University of South Florida St. Petersburg Spring 2011

BIOL 2402 Anatomy & Physiology II Course Syllabus:

Math 121 Fundamentals of Mathematics I

MULTIMEDIA Motion Graphics for Multimedia

BIOH : Principles of Medical Physiology

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

COMMUNICATION AND JOURNALISM Introduction to Communication Spring 2010

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

Backwards Numbers: A Study of Place Value. Catherine Perez

Office Hours: Mon & Fri 10:00-12:00. Course Description

INTERMEDIATE ALGEBRA Course Syllabus

Bittinger, M. L., Ellenbogen, D. J., & Johnson, B. L. (2012). Prealgebra (6th ed.). Boston, MA: Addison-Wesley.

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

BA 130 Introduction to International Business

ebusiness Technologies Spring 2000 Syllabus

San José State University Department of Psychology PSYC , Human Learning, Spring 2017

I. PREREQUISITE For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

Course Syllabus Art History II ARTS 1304

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

Texas A&M University-Central Texas CISK Comprehensive Networking C_SK Computer Networks Monday/Wednesday 5.

University of Massachusetts Lowell Graduate School of Education Program Evaluation Spring Online

Aronson, E., Wilson, T. D., & Akert, R. M. (2010). Social psychology (7th ed.). Upper Saddle River, NJ: Prentice Hall.

A systems engineering laboratory in the context of the Bologna Process

School of Innovative Technologies and Engineering

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

Transcription:

Syllabus Course Number: CS 370 Course Title: Assembly Programming Course Description: Describes the elements and techniques of assembly language programming for microprocessors used in the IBM compatible family of microcomputers. Introduces computer architectures, and discusses the concepts of data representations, processing instructions, addressing modes, macros, functions and procedures and file I/O. Prerequisite Courses: CS208 Computer Science Fundamentals CS362 Data Structures In order to successfully complete this course, students are expected to have taken the prerequisite CS362 course or its equivalent. From CS362, you should have a working knowledge of the following topics: 1. Practice with problem definition, solution construction and algorithmic development using top-down design techniques. 2. Ability to implement control structures used for sequencing, selection, and iteration. 3. Ability to choose and implement appropriate data structures including arrays, structures, linked lists, and file processing. 4. Understanding of modular code design and how to design test cases. Although CS370 introduces Assembly Programming, it is also a Computer Science course that introduces advanced programming concepts. Consequently, the ability to program at the CS362 learning outcome level is essential for successful in this course. Course Overview In this course you will learn about the architecture of a typical microprocessor and its role in a computer system. By studying the machine and assembly language of a particular processor, specifically the x86 family of processors, you will begin to understand how a high-level programming languages, such as C++ and Java, are actually translated (compiled), and prepared for execution, loaded, and executed on the computer. College for Computer & Information Sciences 3333 Regis Boulevard, Denver, CO 80221 303-964-6884 regis.edu 2015 Regis University Revised: 5/29/2015 Page 1 of 7

You will become familiar with the basic tools used for low-level programming: the editor, assembler, linker, loader, debugger, and machine language monitor. Most importantly, you will understand how data is stored and manipulated at the lowest levels of machine activity, providing a solid framework for developing high-level programming skills. Course Outcomes: Upon completion of this course, learners should be able to: 1. Describe how the fetch-execute cycle is used during runtime in a classical von Neumann machine. 2. Create programs using various instructional formats such as addresses per assembly language command, fixed versus variable length formats, and data addressing modes. 3. Compare and contrast Assembly language constructs with prior learning about high-level programming language (e.g., C++) constructs. 4. Create programs that perform subroutine calls using the Assembly programming language. 5. Explain how subroutine calls are handled at the assembly level. 6. Master how numeric and non-numeric data are represented in memory including converting numerical data from one base to another such as hexadecimal, binary, and decimal. 7. Design, develop, execute, and debug assembly language programs (including string manipulation, subroutine calls, and representing arrays). 8. Create and execute test plans to verify program code works correctly. Course Materials: Required Texts: Irvine, K. R. (2014). Assembly language for x86 processors (7th ed.). Upper Saddle River, NJ: Prentice Hall (Pearson Education). ISBN: 978-0133769401. Technology Tools: Visual Studio 2013 Express containing Microsoft Assembler (MASM), which can be downloaded (free) from the textbook author s Website: http://www.kipirvine.com/asm/ Select the Getting started with MASM link. 2015 Regis University CS370 Syllabus Page 2 of 7

Pre-Assignment: Complete first assigned readings in the Course Assignments and Activities table below Be prepared to ask questions on unclear areas in the assigned reading Familiarize yourself with the procedures for accessing the MASM assembler (above) Online Format: Sign on to worldclass.regis.edu and become familiar with the course navigation of the Web Curriculum. Complete assignments above. Classroom-based Format: Complete assignments above by the first night of class. 2015 Regis University CS370 Syllabus Page 3 of 7

Course Assignments and Activities: 1 Computer Number Systems and Architectures Topics Readings Activities Assignments and Associated Points* Textbook: Chapters 1, 2, 3, Introductions & Chapter 4, sec 4.1 Fundamental Assembly Language Elements: data definition and data movement instructions 2 Basic Arithmetic and Loop Instructions 3 Procedures and the Stack and Conditional Processing Instructions 4 Boolean Instructions and Implementing Control Structures in Assembly Language 5 Shift and Rotate Instructions 6 Parsing Integer Data, and Extended Precision Arithmetic 7 Procedures and Parameters, Stack Frames, Multiple File Programs 8 String Instructions, String Representations and Array Representations and Processing Online Content for Week 1 Textbook: Chapter 4, sec 4.2 4.9 Online Content for Week 2 Textbook: Chapter 5 Online Content for Week 3 Textbook: Chapter 6 Online Content for Week 4 Textbook: Chapter 7, sec 7.1 7.3 Online Content for Week 5 Textbook: Chapter 7, sec 7.4 7.9 Online Content for Week 6 Textbook: Chapter 8 Online Content for Week 7 Textbook: Chapter 9 Online Content for Week 8 Pretest Quiz Total 100% (10% for all entire course) Programming Assn 1 (10%) Programming Assn 2 (10%) Jesuit Key Values Essay (5%) Programming Assn 3 (10%) Programming Assn 4 (10%) Midterm (10%) Programming Assn 5 - Part I: Documentation Programming Assn 5 - Part II: Program (10% for both parts) Programming Assn 6 - Part I: Documentation Programming Assn 6 - Part II: Program (10% for both parts) Final exam (15%) 2015 Regis University CS370 Syllabus Page 4 of 7

*Note to Classroom sections only: Exact due dates for programming assignments may be modified from what is indicated in the above Course Assignments and Activities grid. Your facilitator's syllabus, handed out the first night of class, will indicate any changes. Programming Assignments Each programming assignment will involve designing, implementing, and testing a program using the concepts discussed in the book and class. Note: programs that do not assemble, are not modular, nor properly documented standards will not be accepted. Programming assignments will be graded according to details listed in the rubrics given in the class, which also includes the following criteria: 1. Source Code a. Code is easy to read and self-documenting b. Appropriate comments are used 2. Coding Style a. When applicable, the program is modular b. The Java programming language is used correctly 3. Functionality a. There are no assembly, logic, and design errors. b. The program solves the assigned problem. 4. Testing, as appropriate 5. Analysis (if required) a. Logical and complete Exams There will be a midterm and final exam. Exams questions will be cumulative, taken from reading assignments, programming assignments, and class participation. Exams may test your understanding, comprehension, application, and evaluation of the material presented in this class. Participation Class participation/effort is important because we can all learn from each other. Your participation points can make a difference in the final grade. Participation means: 1. Present in class every session (classroom) Present in the forum every week (online) 2. Effectively responds to questions from the facilitator (classroom) Regularly checks forum and posts all required items by the deadlines (online) 3. Interacts/replies to other students in classroom/forum discussions. 2015 Regis University CS370 Syllabus Page 5 of 7

CC&IS Grading Scale Letter Grade Percentage Grade Point A 93 to 100 4.00 A 90 to less than 93 3.67 B+ 87 to less than 90 3.33 B 83 to less than 87 3.00 B 80 to less than 83 2.67 C+ 77 to less than 80 2.33 C 73 to less than 77 2.00 C 70 to less than 73 1.67 D+ 67 to less than 70 1.33 D 63 to less than 67 1.00 D- 60 to less than 63.67 F Less than 60 0 Additional information about grading can be found in the latest edition of the University Catalog, available at http://www.regis.edu/academics/course%20catalog.aspx. 2015 Regis University CS370 Syllabus Page 6 of 7

CC&IS Policies and Procedures Each of the following CC&IS Policies & Procedures is incorporated here by reference. Students are expected to review this information each term, and agree to the policies and procedures as identified here and specified in the latest edition of the University Catalog, available at http://www.regis.edu/academics/course%20catalog.aspx or at the link provided. The CC&IS Academic Integrity Policy. The Student Honor Code and Student Standards of Conduct. Incomplete Grade Policy, Pass / No Pass Grades, Grade Reports. The Information Privacy policy and FERPA. For more information regarding FERPA, visit the U.S. Department of Education. The HIPPA policies for protected health information. The complete Regis University HIPAA Privacy & Security policy can be found here: http://www.regis.edu/about-regis- University/University-Offices-and-Services/Auxiliary-Business/HIPAA.aspx. The Human Subjects Institutional Review Board (IRB) procedures. More information about the IRB and its processes can be found here: http://regis.edu/academics/academic- Grants/Proposals/Regis-Information/IRB.aspx. The CC&IS Policies & Procedures Syllabus Addendum summarizes additional important policies including, Diversity, Equal Access, Disability Services, and Attendance & Participation that apply to every course offered by the College of Computer & Information Sciences at Regis University. A copy of the CC&IS Policies & Procedures Syllabus Addendum can be found here: https://in2.regis.edu/sites/ccis/policies/repository/ccis%20syllabus%20addendum.docx. 2015 Regis University CS370 Syllabus Page 7 of 7