EEL 3801C - Introduction to Computer Engineering

Summer 2006

Instructor: Dr. Lotzi Bölöni
Office: ENGR - 444
Phone: 407-823-2320
E-mail: lboloni@cs.ucf.edu
Web Site: http://www.cs.ucf.edu/~lboloni/Teaching/EEL3801C_2006
The assignments and the other announcements will be posted on the course web site
Classroom: ENG-I 427
Class Hours: Tuesday, Thursday 6:30 - 8:20
Office Hours: Tuesday 10:40 - 12:00, Thursday 13:00 - 15:00 or by appointment
Lab assistant: Mohammad Zubair Ahmad zub.ahmad@gmail.com
Lab location and date: ENG-I 257,
C011: Monday 18:00-20:50,
C012: Wednesday 18:00-20:50,
C013: Tuesday 10:30 - 13:20
Grader: Wenjing Wang wenjing@cs.ucf.edu
Text: Deitel & Deitel: C++ How to Program
Kip Irvine: Assembly language for Intel-based computers
Grading: Homework: 20%
Lab: 20%
Midterm Exam: 30 %
Final Exam: 30 %
Prerequisites EGN 3211 or equivalent. The point is: basic C programming skills (functions, if, for, while, printf) are prerequisites for this class. The quiz given in the first class will not be part of the grade. It is given to help you evaluate yourself whether you have the prerequisites for this class.

Goto: Links, Syllabus, Grades

Grades

Laboratory

Week Laboratory manual
May 22-26, 2006 The masm and link commands (No write-up needs to be done for this )
May 29-Jun. 2, 2006 Hello World in Reverse in Assembly
Jun. 5-9, 2006 Bubble Sort in Assembly
Jun. 12-16, 2006 Loops, Control Structures, formatted I/O and Files
Jun. 19-23, 2006 Objects and Classes
Jun. 26-30, 2006 Constructors, Destructors and Friend Functions
Jul. 3-7, 2006 Pointers, Dynamic Memory, Pass by Reference, and Arrays
Jul. 10-14, 2006 Inheritance
Jul. 17-21, 2006 Inheritance and Constructor Functions

Syllabus

Date
Topic
Lecture Notes, Readings, Homeworks
May 16
Introduction
-Quiz
May 18
Computer organization and assembly programming
-Data representation
eel3801-1-basics.ppt
May 23
-Computer organization eel3801-1-system-arch.ppt
BinaryOperations.pdf
May 25
-Intel 8086 instruction set
Summary of Intel assembly
May 30
-Assembly programming basics eel3801-1-assembly.ppt
simple.asm
hello.asm
List of BIOS and DOS interrupts
instr.asm
Homework1.txt - due June 13
Jun. 1
-Branches and loops
-Using arrays
eel3801-2.ppt
addr.asm
jumps.asm
print.asm
Jun. 6
-Logical operators, conditional processing eel3801-3.ppt
cond.asm
Jun. 8
-Implementing control structures in assembly control.asm
hellorev.asm
Jun. 13
Midterm Homework 1 DUE!
Jun. 15 The C programming language
-Generalities
-Control structures: if-else, nested if, for, while, do-while
eel3801-4.ppt
eel3801-5.ppt
example1.cpp
example2.cpp
example3.cpp
Jun. 20 -Compiling and linking
-Switch statements
-n 1/2 loops
-parameter passing by value

Jun. 22
-Arrays, structures, unions eel3801-6.ppt
Jun. 27
-Pointers structs.cpp
pointers1.cpp
Jun. 29
-Advanced pointers pointers2.cpp
Jun. 29
-Dynamic memory allocation. eel3801-7.ppt
Homework2.txt - due July 13
Jul. 4
Independence Day
Jul. 6
The C++ programming language
-C++ as an enhancement to C
eel3801-8.ppt
streams.cpp
overload.cpp
Jul. 11
-classes and objects eel3801-9.ppt
objects.cpp
Jul. 13
student.cpp - this is the file we wrote together in the class!!!
Homework 2 DUE!
Jul. 18
-Inheritance eel3801-10.ppt
inherit.cpp
Jul. 20
Homework3.txt - due July 27th
Jul. 25
eel3801-11.ppt
Jul. 27
Final exam Homework 3 DUE!
A sample final exam. Do not panic! There will be no assembly and no templates in the final.

Software

Installation instructions:
 -create a new directory on your computer, e.g. c:\asm
 -download all the above files in the directory
 -rename ml.errx to ml.err
How to assemble and run an assembly language program:
 -open an MS-DOS window and change the directory to c:\asm
 -create the assembly file, for example test.asm in your 
 -run 
       ml.exe test.asm
 -it will assemble and link your application. The executable file will be
 test.exe
 -run:
       test.exe