CDA 3104 Comp. Orgn. & Assmb. Lang. Prog. - 3 credit(s)

print[↑]
Florida Gulf Coast University
U.A. Whitaker College of Engineering
Department of Computing & Software Engineering

Course Catalog Description

Covers the basic concepts of computer organization using a computer platform or a simulator and the corresponding assembly language. Topics include Boolean algebra, logic gates, registers, memory models, CPU structures, basic assembly instructions, procedures, stack frames, and interrupt handling.

Prerequisites

(PHY 2048C for level Undergraduate with minimum grade of C or (PHY 2048 for level Undergraduate with minimum grade of C and PHY 2048L for level Undergraduate with minimum grade of C)) and COP 2006 for level Undergraduate with minimum grade of C

Required Material

Textbook:

The AVR Microcontroller and Embedded Systems Using Assembly and C: Using Arduino Uno and Atmel Studio 1st Edition by Sepehr Naimi, Sarmad Naimi, Muhammad Ali Mazidi, ISBN: 978-0997925968.

Book website: NicerLand.com/avr[↑] for additional free online content. The site contains Chapter 0 and Appendixes A-I which are not included with the book, along with PowerPoint slides, source code, and labs.

Hardware

You will be required to purchase an Arduino UNO R3 Kit:
Search Amazon for: Arduino Starter Kit[↑]
Select any of these kits like the (Recommended): ELEGOO UNO Project Super Starter Kit with Tutorial and UNO R3 Compatible with Arduino IDE The kit should contain at a minimum:
  • Arduino UNO R3
  • Breadboard
  • Resistors
  • LEDs
  • Push buttons
  • Wires
  • 7-Segment Display (single and 4-digit)
  • One of:
    • DC motor
    • Stepper Motor w/Driver Board
    • Servo Motor
  • Various additional components, ICs, Sensors, etc.

Learning Outcomes

Upon successful completion of this course, the student will be able to:
  • understand the basic microcontroller functionality and how it's used in embedded systems.
  • be able to write assembly language code for the ATMEL AVR family of microcontrollers.
  • be able to program the various microcontroller features such as hardware interrupts, timers, I/O ports and serial communications.
  • be able to design circuitry using simple electronics such as using resisters, capacitors, transistors, diodes, relays, and a power supply in the context of embedded systems.

Instructional Methods

This is a face-to-face course with lectures, instructor led programming examples, and in-class labs.

Attendance

Attendance is mandatory for all classes. Attendance will be taken and will count towards participation credit. Students should notify me at least 48 hours in advance of intent to miss a class to arrange alternate schedules for in-class assignments.

Communication:

All course related communication should be via Canvas message. Each student is responsible for checking his/her FGCU email at least once a day. The instructor will respond to your emails within 24 hours except weekends and holidays.

Topics / Tentative Schedule

  • Computer Architecture and AVR MCU
  • Number systems, Binary Arithmetic & Signed Numbers
  • Basic AVR Assembly Programming
  • Conditional Branching (if and loops), Time Delays
  • Exam 1
  • DC Circuits and Components
  • AVR I/O Programming
  • Advanced AVR Programming
  • AVR Timer Programming
  • AVR Interrupt Programming
  • Exam 2
  • Various Topics: Analog and Digital Sensors, Motors, PWM, SPI, etc.
  • Group Project Demonstrations

Assessment

There is no grace period for late submission of assignments. All assignments with due dates and times will be posted on Canvas. Alternate schedules can be arranged ahead of time with instructor approval.

Working Independently:

Students are to work independently on all non-group assignments. It is cheating to see other classmate's work or let other classmates see yours. This does not mean you cannot assist or discuss assignments with your classmates.

*** IMPORTANT ***

Student submissions that contain work from another student or source will receive a zero for that assignment. A second occurrence will result in failing the class, and the academic sanction will be reported to the Dean of Students.

Assignments (45%):

Individual problems and small programs worked outside of class.

Exams (30%):

Written exams taken in class.

Group Project (15%):

Group project combining AVR Assembly programming with basic DC circuits worked outside of class.

Participation (10%):

In class quizzes and labs, attendance, and overall participation.

Grading

GRADE GPA Range
 A  4.00 93 - 100
 A-  3.75 90 - 92
 B+ 3.25 87 -  89
 B  3.00 83 -  86
 B- 2.75 80 -  82
 C+ 2.25 77 -  79
 C  2.00 70 -  76
 D  1.00 60 -  69
 F  0.00  0 -  59