Catalog Description:
Fundamentals of assembly
language programming concepts and techniques. Topics include internal representation
of data, arithmetic operations, logic statements, and general assembly language
commands. Introduce low level language architecture including assemblers,
linkage editors, and loaders. This course has the option of a letter grade or
credit/no credit.
Units:
4 Hours: 3 Lecture, 3 Laboratory Advisory: CSIS 45 (C++ Programming) or programming experience. Math 233
(Intermediate Algebra)
End
of catalog description.
Instructor: Dennie Van Tassel
Phone: 782-0863 (e-mail works better for contacting me)
E-mail: dvantassel@gavilan.edu
Class Hours: This summer June 2008
class is an online only course. If you want/need a normal lecture class, wait
until the regular semester. I will be at the Morgan Hill site on
Monday/Wednesday/Thursday evenings during the 6-week Summer session. You can
come in and work and get help during those times.
Office Hours: Occasional computer lab,
Assignment sheet: If you sign up for the
class and tell me, I can e-mail you the assignment sheet for the class so you
can start early, but I will not send you the assignment sheet until you sign up
for the class. All these class Green Sheets are stored at my campus web site.
Campus web address: http://www.gavilan.edu
The
web site is good place to look for a wide variety of information, such as
college catalog, course description, phone numbers, etc.
Instructor class
description: This
class is an advanced level programming class. We will work through much of the
assigned textbook. You will need the textbook the first meeting of class. This
is a difficult class. The material is difficult and there is a lot of homework.
You need to know anoher programming language such as taught in our CSIS 45 C++
Programming course.
Grading: This course has Credit/No
Credit Option. You will normally get a grade in the class, but if you fill out
a Credit/No Credit petition before 1/3 of the class has passed, you can take
the class for credit/no credit. Petitions are available at the office or
registrar. Please tell me if you do request a Credit/No Credit Option. In order
to get a Credit, you need to earn at least a C grade.
Student Responsibilities: Read the text. You need spend several hours
EVERY week on this class. If you disappear AND stop working on this class,
I may drop you.
Texts & Materials: Assembly language for Intel-Based
Computers (4th Edition), by Kip R. Irvine, ISBN: 0-13-091013-9
. There is a newer 5th edition: (ISBN 0-13-238310-1), but it changed very
little and the 4th edition is much cheaper. I
give you assignments out of the book. There are newer (and older) editions of this book.
The newer editions are more expensive and not much different. You can buy this
version of the book VERY cheap from www.amazon.com,
or www.half.com. When you buy the book, make
sure it has the CD, since that has the compiler on it. The assignments and page
numbers for this class will match the above 4th edition. If you buy
a different edition, you will need to adjust to their page numbers. You can
save yourself a lot of wasted time and learn a lot more if you read the textbook.
The chapters in
the book cover this material:
1.
Basic Concepts.
2.
IA-32 Processor Architecture.
3.
Assembly Language Fundamentals.
4.
Data Transfers, Addressing, and Arithmetic.
5.
Procedures.
6.
Conditional Processing.
7.
Integer Arithmetic.
8. Advanced Procedures.
9. Strings and Arrays.
10.
Structures and Macros.
11.
MS-Windows Programming.
12.
High-Level Language Interface.
13.
16-Bit MS-DOS Programming.
14.
Disk Fundamentals.
15.
BIOS-Level Programming.
16.
Expert MS-DOS Programming.
17.
Floating Point Programming and IA-32 Instruction Encoding.
We
usually cover most of these chapters, especially the A students do.
Free
software downloads: The assembler is
also available from www.masm32.com
The
web site: http://www.bloodshed.net/ has
a long list of software you can download. Some of this software can be used to
do your work at home for our classes. In the Classroom part of this Web site,
there are more detailed instructions on obtaining the software for this class.
Assignment: On the computer type up a
short note about yourself. Please indicate your name, e-mail address, computer
experience, previous programming background, and why you are taking the class.
If you do not have an e-mail address, please go to www.hotmail.com and open a
free e-mail account. If you want to you can give me your phone number and
address, and if you miss class I may send you assignments either through the
You do not need a computer at home to do this class,
but you can do homework outside class on other computers. One of the computer
labs in the
Attend class: Do not get behind in the
class. The class is accumulative. What you learn this week will be used to do
the work next week. If you miss classes you will soon be lost. Plan to miss no classes. Bring your
textbook and all handouts to class each meeting.
Grading: This course has Credit/No
Credit Option. You will normally get a grade in the class, but if you fill out
a Credit/No Credit petition before 1/3 of the class has passed, you can take
the class for credit/no credit. Petitions are available at the office or
registrar. Please tell me if you do request a Credit/No Credit Option. In order
to get a Credit, you need to earn at least a C grade.
If you want or need a good grade because you want to
transfer to a 4-year school, are on academic probation, want a scholarship, or
just want good grades do the work
for a good grade. Don’t bother telling me you need a good grade the last week
if you have not done the work for a good grade.
Course Learning Outcomes
The
student will create, execute, and test assembly language programs using
calculations and decision statements. The student will create, execute, and
test assembly language programs using loops, arrays, and pointers. The student
will create, execute, and test assembly language programs using functions. The
student will create, execute, and test assembly language programs using
standard input/output, character I/O and file I/O. The student will evaluate
and select the best programming method to solve problems.
Incompletes: I seldom give incompletes
and never give them just because you have not done the work. Almost no one ever
finishes an Incomplete. Occasionally, people that have been doing the class
work have severe family or personal problems and I do give them an Incomplete.
Drops: If you stop attending class,
you must fill out a class drop form or you will get an F grade in the class.
This does not do you, me, or the school any good. So if you stop taking the
class, drop it at the A&R
office.
Special needs: If you have special needs
such as hearing problem, visual problems, or other needs, please tell me after
class and I will try to assist you.
After all that, this is a fun class. You will learn
a lot that will help you in your other classes and help you obtain useful job
skills. I am interested in suggestions about assignments, lectures, and the
material covered.
Necessary math
skills: If
you are having trouble doing the math needed to solve the problems in the
programming exercises, then you should take Math 233, Intermediate Algebra. We
have noticed that one common reason students do not succeed in programming
classes is the lack of math skills need to write programming algorithms. At
many 4-year colleges, potential Computer Science (CS) students must take one
year of calculus before becoming a CS major.
Next classes
to take: If
you can learn assembly language, all other languages will look easier. If you
want to go into programming, Math 5 Introduction to Statistics would be useful.
Address of this page:
http://hhh.gavilan.edu/csis/csis12.html
Please feel free to send us your comments and questions.
Send e-mail messages to Dennie Van
Tassel at dvantassel@gavilan.edu
Last revised on June 1, 2008.