CS 17: Assembly Language Programming

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

CS 17: Assembly Language Programming : # 1729

Syllabus – Fall, 2024

Course Description:

Assembly Language allows the programmer to fully utilize all of the special features of the computer in the most efficient manner. It also aids the high-level language programmer in writing subroutines.  The student will write Assembly Language programs and test and debug them.

Student Learning Outcomes:

1. Design and create applications using Assembly language for the Intel Pentium architecture and apply the Assembly language for the Pentium architecture to solve specific programming problems.

2. Understand how high-level-language concepts such as control flow, looping, conditional statements, procedural abstraction, recursion and arrays are handled by Assembly language instructions.

Text/Materials:

Text:

The Art of Assembly Language by Randall Hyde. No Starch Press. 2nd edition.  ISBN: 1593272073

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 that is running MacOS Mojave or earlier.  Due to the end of support for 32-bit applications in MacOS Catalina, Macs with the newest operation system version cannot natively run HLA, the software we are using in this class.  Students who have upgraded their Macs to Catalina have two choices:

1.   Use the Windows machines either in the computer lab or in the cloud remotely via Remote  Desktops.  I know, I know.  It's a major bummer.  But this is choice I recommend. We refer to this configuration as VCL (Virtual Computer Lab).  Further directions will be made available to students in the Canvas course shell

2.   Purchase and install Parallels Desktop ($79.00).  This software allows you to create a virtual machine on your Mac where you can run an older version of MacOS.  Inside this virtual machine running MacOS Mojave, you will load and run HLA.  Due to the cost and the complications, I honestly never recommend Parallels.  I would like to strongly encourage Catalina users to use the computer lab remotely via VCL – Option #1 above.  We refer to this configuration as VCL (Virtual Computer Lab).  Further directions will be made available to students in the Canvas course shell.

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.  I have had great success with the software, as students have used it with Linux, Windows 3.1, Windows/Japan and all the other flavors of Windows known to mankind.  If you are not all the good with your computer or have a slow connection to the Internet, please consider purchasing a program CD from me, as it will let you work quickly and easily on any computer with a CD-ROM drive.  The software can also be installed in a portable fashion using a flash memory drive so that you can work from any computer with an available USB port.

Course Format:

This course is being offered in a online format. We will be covering an entire class in just 12 weeks. As a result, this kind of class format requires a diligent and motivated student. A course website has been created with content, slides and sample code. Be forewarned that this programming class is fairly challenging. As a result, I would like to stress that you work thru each sample coding example provided.  In addition to reading the online content, homework will be assigned.

All quizzes and the final exam must be taken online via the course website software. There will be multiple versions of each exam so cheating really will not do you much of any good. For those of  you who have not taken a course with me in the past, there is a sample exam online which you can take to familiarize yourself with the course website testing software.

Overall, this kind of course format requires a very diligent, self-motivated learner who can commit to the course schedule and format.  With the beginning of class, all the homework assignments have been released, so students can work at their own pace (just please, not any slower than the released calendar at the end of this document…).  Students can turn in assignments whenever they choose; however, I will only be grading what is currently due.  Exams will be released a few days before their assigned calendar dates.

Coursework:

In addition to reading assignments, homework will be assigned.YOU ARE ADVISED THAT THERE IS A SIGNIFICANT READING COMPONENT TO COMPLETING THIS ONLINE CLASS SUCCESSFULLY.  Students are also expected to participate in online chats and discussions, as requested by their instructor.  Homework is to be submitted by midnight on the due date.  LATE HOMEWORK WILL NOT RECEIVE FULL CREDIT.

Electronic Submission:

It is your responsibility to make certain that all files that are submitted electronically can be easily accessed from your submission folder.  Following the naming conventions described in class is the  best way you can ensure that you receive the highest grades for your assignments. Files that cannot be opened will receive a lower grade.  It is very good idea to make a backup copy of your assignments and keep them until the end of the semester!

You must follow the electronic submission guidelines to turn in all programming projects.  This course will be making extensive use of the website https://online.smc.edu/login/ldap.  You may choose to turn in homeworks there by following the electronic submission guidelines discussed in class. Please monitor that site regularly for important notices and announcements posted online, as mid-course corrections maybe necessary.

Course Website:

All students enrolled in this class have been provided access to a course website.  You will find electronic copies of all the information presented and demonstrated in class available for downloading there.  While the class has yet to get going, I highly recommend you familiarize yourself with the site and the way I am posting content for your use.

The course website is available from https://online.smc.edu.  Your username is your SMC email address without the @smc.edu portion.  Your password is the same one your use for Corsair Connect.  All course and lecture content has been made available thru this course website.

Evaluation and Grading:

Assignments: During the semester, a number of assignments which will need to be completed.

There will be a total of 12 assignments, many of which will include programming projects.  These Assignments need to be turned in on the date scheduled.   Only 11 of these problem sets will be considered in your grade, so your lowest homework score   will get dropped.  YOU WILL BE DROPPED FROM THE CLASS IF YOU FAIL TO TURN IN THREE ASSIGNMENTS.  Should you fail to receive full credit on an assignment for some reason, I would like to encourage you to fix your mistake and re- submit your work to get the points back.  The non-programming assignments will not  be worth as much as the coding assignments.This makes for some confusion because the different assignments in the gradebook will be worth different amounts, but it will work out in the end.  Have no fear …

Quizzes:          There will be two quizzes covering reading assignments and programming activities.

Each quiz is worth 100 points and both will count toward your final grade. YOU WILL BE DROPPED FROM THE CLASS IF YOU FAIL TO TAKE BOTH QUIZZES. All quizzes will be delivered online via the secure, timed course testing system available from the class website.

Final Exam: A comprehensive final exam will be given at the end of the semester. It will cover most topics covered during the course.  The final exam will be delivered online via the secure, timed course testing system available from the class website.

Assessment:

Category

Point Value

Total

Percent

Assignments (12)

various

190

38%

Quizzes (2)

100

200

40%

Final Exam (1)

110

110

22%


Grading Scale

450-500 A

400-449 B

350-399 C

300-349 D

0-299 F

发表评论

电子邮件地址不会被公开。 必填项已用*标注