CMSC391
Microcontroller Programming

UMBC | CSEE |


 

Syllabus

Course Description

This course is designed to provide an introduction to microcontroller assembly language programming. Students will be taught the basic use of a programming environment and how to convert the basic elements of the C programming language (including loops, control statements, and arrays) into a well-formed assembly language program. This course also highlights the general computer science concepts such as operating systems, computer organization, data representation, low-level input/output, and memory usage in the microcontroller environment. A program will also be written in C to emphasis the difference between microcontrollers and microprocessors. Prerequisite: CMSC211, CMSC313, CMPE310 or equivalent assembly language course.

Instructor

Instructor: Gary Burt
Office: ITE 2225
Office Hours: by appointment or walk-ins when my door is open.
E-mail: burt@cs.umbc.edu
Telephone: 410-455-3928 (Do not leave a message!)

Textbook

The 8051 Microcontroller, Architecture, Programming, & Appliations, 2nd Edition,
Kenneth J. Ayala

Course Homepage

This course has a homepage where assignments and grades will be posted. Many of the handouts will also be available off of the homepage.

The URL is: http://www.cs.umbc.edu/courses/undergraduate/CMSC391/summer04/burt

Course Objectives

This course will give the students an overview of microcontroller programming. The following is a list of topics, which will be covered this session:

Exam/Project

For the midterm and final, it may be an exam or a project, as selected by the intstructor.

Grading

a number of programming projects

100 points each

a number of homework assignments

50 points each

a number of unannounced pop-quizzes

5 points each

written report

100 points

a number of tests

100 points each

midterm/project

200 points

final exam/project worth

400 points

Your final letter grade determined by the standard formula:

90%+      A
80%+      B
70%+      C
60%+      D
Below 60% F

Under no circumstances will the grades be curved downward. Your grade is based on timely work accomplished during the semester; incomplete grades will only be given for medical illness or other such dire circumstances.

Project Submission and Grading

The critical programming skills cannot be learned simply by attending the class. You should budget enough time to work on the projects as well. Late projects will be accepted with a penalty of 10% per day. After 5 days, the project will not be accepted and the grade will be -100%.

Projects will be graded according to the following criteria:

A project that runs incorrectly will receive no more than 60% of the grade. A project that does not compile will receive no more than 30% of the grade. Garbage will receive 0%.

You will be turning in your projects electronically. Details will be announced in class before you need to submit projects.

Project Policy

All projects must be completed by your own individual effort. You should never have a copy of someone else's project either on paper or electronically under any circumstance. Also, you should never give a copy of your project, either on paper or electronically, to another student. This also means that you cannot "work" on the project together. Cases of academic dishonesty will be dealt with severely.

If your project is turned in by someone else, both you and the person copying your project will receive a 0 for that project. This includes "substantially similar" projects. Furthermore, all parties concerned will have their prior projects checked for cheating. So, if you cheat on Project 4, you can lose all the points from Projects 1 through 3 as well, even though you may have done all the work and just "let" other people copy from you.

Communications

All communications with the instructor and the TA must have your name and the last four of your Social Security Number (last four) and the section number. Too many of you have email that shows up with a fancy alias and we can't figure out who "Joe Snuffy" is! This includes all email, projects, homework, written reports, etc. Except for in-class work, all material must be typed (or printed on the computer). Too many of you have handwriting that would qualify you to be a medical doctor!

Lectures and Readings

Exams

Written Report

You are to prepare a report based on one or more magazine(s) article (hardcopy or electronic version) that deals with some aspect of embedded programming. Article(s) should have been published within the last six months. Your report is to be a cover page and three pages of text, double spaced. Font size of must be 12 points. The specific format is for you to choice. The report is to discuss the contents of the article and your opinions concerning the articles. You are to create this report in MicroSoft Word (or an editor that produces a Word-compatible file) and submit the report using Blackboard's digital dropbox. Graphics can be used if they contribute to the report, but they are not a a part of of the required page count.

Academic Conduct Policy

The following is taken from the UMBC Student Handbook:

DEFINITIONS OF ACADEMIC MISCONDUCT

Academic misconduct may include but is not limited to the following:

POLICY FOR RESOLVING CASES OF ACADEMIC MISCONDUCT

Individual faculty members have the right and responsibility to deal directly with any cases of academic misconduct, which arise in their courses. Instances of academic misconduct may be identified in one of two ways. If a faculty member believes a student has committed an act of academic misconduct--for example, by direct observation of student behavior, by comparing the contents of an assignment with that submitted by another student, or by reviewing notated sources or references--the faculty member, in consultation with the Chair of the Academic Conduct Committee, will assess the student's alleged misconduct and the faculty member's options. If a student believes that academic misconduct has occurred, the student will notify either the faculty member or the Chair of the Academic Conduct Committee.

It is particularly important that the Chair of the Academic Conduct Committee be consulted. The Chair can provide knowledge and insight for the faculty member. Communication of instances of academic misconduct also protects the integrity of the university by providing a means of recording infractions that may be repeated by a particular student, or which may prove endemic to a particular course or department. Consultation with the Chair of the Academic Conduct Committee provides a formal record of the infraction and resolution, protecting the student, professor, and university should any questions later arise.

The student will have the opportunity to respond to an accusation of academic misconduct.

Out-of-Class Help

You will have some difficulties in this class and will need some extra help. This is normal. You can come to me for this help. The sooner you come for help, the easier it is for you to catch up. Don't wait until you are totally and hopelessly lost. You must write programs to learn all these concepts. Don't waste this opportunity.

ADA Compliance

We recognize that some of you might have disabilities that require special attention from the instruction staff. Please make us aware of them so that UMBC can make suitable arrangements.


UMBC | CSEE |