TCSS/TCES 465 - Embedded SystemsSyllabusWinter, 2014Syllabus Index
General Information
What to expect from the course
Upon completion of the course you will understand principles of software development in a real-time embedded systems environment. You will have gained some actual hands-on experience with a real-time application and will have surveyed a variety of architectures/hardware systems that are used in embedded applications. This course is preparatory for a graduate track in embedded systems development, but will be useful for those who seek a better understanding of this “fastest growing” area of computer science. It will also act as an integration of prior courses for CES students in preparation for their senior project implementations (TCES482). You will have both knowledge of the general principles governing these topics as well as hands-on experience working with several of these. Learning ObjectivesUpon completion of this course you should:
Ground RulesThe following course policies will be observed.GradesEach evaluation component will carry a grade of 0-100 points which will be multiplied by the percentage weighting factor for that component. That percentage will be translated into a final decimal point (4.0 max) grade. The grade translation can be found at: this table. ExamThere will be a take-home final covering major conceptual areas of the course (25%). ExercisesDuring the first several weeks of class we will be doing team-based exercises in the class and as homework. We start the exercise in the class time and then you will most likely need to complete it at home or in non-class time. I expect there will be four exercises that will prepare you to complete the major project. Each will be graded - all four to be 10% of final grade. The exercises will be posted on the Moodle site as descriptions of what to accomplish and a turn-in link. Only one team member need turn in any of the exercises, but make sure all team members names are in all of the submitted files. Assessments will be similar to those for the project (see below). ProjectThe central focus of this course will be on a hands-on project produced by a minimum of two partners. There will be five phases assessed.
Notebook UsageEach week I or the TA will ask a selection of students to examine their notebooks for proper note taking and project documentation. If, in our judgement you have not been taking adequte (and readable) notes, we will subtract points on your individual assessments on project components. So your final score on the project may be less than that of your team mates if you don't keep good notes. The selection could be random or based on observations of note taking behavior during my talks. Academic HonestyAny attempt to receive credit for work that is not your own is plagerism. Attempts to hide the lack of contribution for a weak team member will be counted as academic dishonesty also. You should feel comfortable discussing topics, including general approaches to assignments, in a collaborative atmosphere. Discussing concepts and methods to be applied to problems is often a tremendous aid to studying. But when it is time to sit down and write down answers or program code, you should work on your own (team's). Course MechanicsLecturesI do not believe in formal lectures in the standard tradition for course involving a lot of learning of methods, techniques, and requiring more hands-on work than ordinary labs. Therefore my talks will be brief and to the point covering principles and specific techniques that you should then immediately incorporate into your work. The schedule of topics to be discussed and reading assignments will be posted on the Moodle web site. Attendance is not mandatory. However, for much of this course you will be working with partners on the projects. If you are absent it could seriously impact the success of the projects. Be sure to communicate with your partner when you may need to be absent. If you do miss a class you will need to make arrangements with classmates to obtain notes. I will not provide an 'extra' lecture for those situations. TextbookThe Optional textbook (recommended more for the CSS students) should be viewed as more of an orientation to the concepts of real time embedded systems and more of a lab manual than a theory text. I will provide a number of Web-based readings that will provide a fuller grasp of the principles to be employed in this subject. You will find those in the topic schedule page. LabsThis is a hands-on course so much time will be spent in the labs working on the projects. Projects Every team will come up with an idea for a project after some general discussions with me. These ideas should not be too elaborate and I will help you determine the feasible scope. This is your chance to be a bit creative in terms of what kind of problem you would like to solve with an embedded application. All of these ideas will involve identifying a physical process that you want to monitor or control. You will then determine the kinds of sensors you need to work with and the focus of the course will be how to interface these sensors to the microcontroller and then writing software to implement the performance. The projects will be based on you major. CSS students will work with the Ardino (you should have gotten an e-mail) processors and their projects will not involve any formal OS design approaches. The CES students will be using Rapsberry Pis and be programming in full C with pthread implementation to simulate an RTOS. Projects will be done in teams of at least two and no more than four. Larger teams will be expected to choose more complex projects of course, and I will apply an handicapping rule to level the playing field. All teams will be composed of students within their disciplines. Any dual majors will be required to join a CES team. CSS students with more background in electronics and microprocessors may request to join a CES project, but I cannot promise that you will be able to do so. The basic plan is that we will form teams in the first two weeks. Your team will develop an idea and bring it to me ASAP. The project then goes into five phases and your team will proceed at paces relevant to your project. The first phase is to develop a full problem identification and solution specification document that will be turned in. Examples and formats will be provided. The second phase will involve learning how to interface I/O devices according to your specification. It will be conducted in a series of practice exercises and results being recorded in your notebooks. The third phase will be actual implementation of the project. Fourth will be a test and demonstration of a working model. Finally, you will write a complete formal final report (format will be provided). In the last week of class your team will demonstrate the projects to the public and esp. the panel of judges for competition (your team may opt out if desired). More details will be presented later. If your team cannot find a problem to work on, I will have several standard problems that you can take on. * For engineering students and interested CS students. Disability AccommodationSee the Student Affairs web site |