CIS 542 - Summer 2013

blackboard | google | wikipedia

CIS 542 Course Overview



Course Objectives

In this project-based course, students will explore techniques for creating applications for embedded and mobile systems, including model-driven development, testing and verification, software design, networking, and low-level performance tuning and optimization. This course incorporates topics from the domains of software engineering, compilers, operating systems, and computer architecture, and provides students with the foundation they will need for addressing the concerns of developing real-world embedded systems software.


This course is intended for students in the EMBS program. Other students in CIS programs (MSE, MCIT, etc.) may take the course, too, assuming there are enough spots available. Enrollment will be limited according to the availability of lab space.

As this is primarily a "programming" course, it is assumed that students are proficient in both C and Java. Students should have at least one year of experience in each.

Class Meeting Times

This class meets Mondays and Wednesdays from 5-8pm. The first class meeting will be held in DRLB 3C8 on Monday, May 20.

Back to Top


There are no textbooks for this course. Assigned readings will be posted on the course Syllabus page, and a variety of supplemental material can be found under the Resources section.

Back to Top


These grading guidelines are tentative!
  1. Group project (50% of grade)
    • Students will work in small groups to develop a system that involves communication between embedded software and an Android application. Details will be made available early in the course.

  2. Lab/homework assignments (50% of grade)
    • These are programming assignments, some of which you will do during class meetings (in the lab), some of which you will do in between class meetings.


Credit for work will be recorded only as reported by the TA in the Gradebook on Blackboard. It is your responsibility to make sure that your work has been properly recorded in the Gradebook.

Make sure you notify the TA of any problems regarding missing records or incorrectly entered scores; the grade entries on the Blackboard will be considered permanent one week subsequent to their posting.

Our TAs will be responsible for adjudicating problems related to grading; the instructor will only be involved as a possible court of last appeal in case there is some truly difficult decision to make (i.e., in most cases, I will not be willing to second guess the TAs' decisions). To submit a request to the TA for a regrade of an assignment, email the TA stating the nature of the problem and the remedy you desire. You must submit this adjustment request within one week of the return of the material in question. The TAs will not consider any requests for grade adjustments that are submitted later than this one week grace period.

Back to Top

Academic Integrity

All work submitted for this class is expected to be your own, unless otherwise noted in the assignment instructions. If you are caught submitting work that is completely copied from some other source, or that has been prepared by somebody other than you, you will face severe discipline by the university.

Homework assignments are to be completed individually unless explicitly stated. You may talk to fellow classmates regarding the assignment and share ideas on Blackboard, but keep in mind what is appropriate and inappropriate about your collaboration:


  • Person A doesn't understand what exactly the problem is asking, e.g. writing actual C code vs. pseudocode. He discusses this with Person B to arrive at one or the other.
  • Person A does not understand a particular concept. Person B explains the concept using an example, other than one asked on the homework.


  • A attempts half the problem, and B attempts the other half. A and B copy the solutions to half the assignment that the other person wrote.
  • Together, A and B work out each homework problem on chalk/white board; then they separately copy down their work and turn it in.
  • Person A completed a programming assignment and just before turning it in, he deleted his program - oh no!!!. In desperation, he asks Person B if he can turn in a copy of her program.
  • Person A happens to be in the lab working on the assignment and notices that Person B is working on the same assignment. Person A is having trouble compiling his program, and asks Person B to fix the problem for him. Sounds safe, right? It's not.

Note: When in doubt always ask the instructor or TA first, to avoid any potential collabration that can lead to academic dishonesty.

You can further read Penn's Code of Academic Integrity page on this subject matter, as well as the SEAS Graduate Student guidelines on the code of ethics.

Back to Top

Homework turn-in procedure

You will turn-in all programming assignments using Blackboard. Follow the steps below.

  1. Log into Blackboard
  2. Open your course (CIS 542).
  3. In the main menu on the left-hand side, click "Assignments".
  4. Click on the assignment for which you want to submit your homework.
  5. In Section #2, "Assignment Materials", leave the "Submission" (the text area at the top) blank, as your submission will consist of files that you will upload.
  6. Below the textbox, next to the label "Attach File", click the "Browse for Local File" button. After you choose the file, you should see it listed next to the label "Attached files" (i.e., it should be uploaded automatically when you select it).
  7. After uploading all files, click the "Submit" button.

Back to Top

Past Course Offerings

Back to Top