Course Information
See also
The information contained within this page is a subset of the information contained within the course syllabus. Please see the syllabus document for a comprehensive list of course information, polices, and grading information.
Faculty and Staff
- Instructor:
- Kyle Wilt, JEC-6004, wiltk2@rpi.edu
In-Person/Webex Office Hours: Tues./Wed. 2-4 PM
- Teaching Assistants:
John Higham
- Undergraduate Support Assistants:
Rob Dabney (Co-Term MS)
Class Schedule
- Official Class Time:
Monday/Thursday 3:00 PM - 7:00 PM
Lectures and Quizzes will be held starting at 4:00 PM on the class days scheduled on the calendar, unless otherwise notified.
- Final Exam time slot:
Thursday December 19th 11:30 AM - 2:30 PM, LOW 4050
There is no final exam for this course. The final exam slot is used for presentation of final projects.
Students may opt to present their final projects on the last day of class and would not be required to attend the presentations during the final exam slot.
Pre-Requisite Courses
ENGR-2350 Embedded Control
ECSE-2610 Computer Components and Operations
Course Materials
- Required Hardware [1]:
Preferred: STM32F769I-DISCO Development board for STM32F769NI microcontroller
This is an audio-visual development board with integrated LCD and audio interfaces. Most of the on-board functionality will not be used for within the laboratories but may be useful for the final project. This board as limited GPIO accessibility.
Alternative: NUCLEO-F767ZI Development board for STM32F767ZI microcontroller.
This is a basic development board, without the audio-visual support provided by the STM32F769I-DISCO. It has much better GPIO accessibility. The class may be fully completed with this board.
Both boards listed above do not come with a required micro-usb cable.
- Other Hardware:
Students will be expected to use laboratory equipment, such as oscilloscopes and signal generators, which are provided in JEC6309. Alternatively, a USB multifunction instrument may be used instead, such as:
- Textbook:
There is no required textbook for this course.
Necessary datasheets and user guides are provided on the Resources page.
Students are strongly suggested to purchase Mastering STM32 by Carmine Noviello, a thorough STM32 guide.
Laboratories
Laboratories will be completed by groups of two. There are six laboratories required for the completion of this course. Completion of the lab is considered when all required tasks contained in the lab are completed and checked by the instructor or TA as well a report detailing the work done is submitted. A thorough discussion on the grading of Laboratories may be found in Laboratories page. In addition to the required tasks, most labs have Depth Tasks, which are optional but not considered extra credit.
Groups must submit their code for each laboratory to receive credit.
Students are not prohibited from using AI tools in working on laboratories; however, the bulk of the development for the assignment must be done by the students, and students must understand any externally generated code. Further, appropriate attribution must be added for any such code
Depth Tasks and Extra Credit
Depth tasks are not required for satisfactory completions of a lab; however, the depth task is worth 10 points towards the total lab grade. Some notes on the depth tasks:
No technical support for depth tasks will be given to groups. It must be completed independently for credit to be awarded.
Depth tasks can only be attempted if all other required tasks are checked off prior to the Finish Lab # deadline as listed on the class calendar.
Depth tasks must be completed and checked off before the report due date.
Depth tasks cannot be attempted if the report has been submitted.
The task must be satisfactorily documented within the submitted report for groups to receive credit.
Groups may receive extra credit for early submission of lab reports:
If the report is submitted a week early with respect to the Lab # Report Due deadline, 5 extra credit points will be awarded.
All required tasks must be checked off for this extra credit to be awarded.
Laboratory Grading
Grading of labs is broken down as shown below:
Component |
Percentage |
---|---|
Required Tasks |
40 % |
Depth Task |
10 % |
Report |
50 % |
Extra Credit |
5 % |
Total: |
105 % |
- Grading examples:
groups may achieve a maximum of 105 % on a laboratory if both the depth task is completed and the report is submitted early.
A maximum of 100 % is achievable with the depth task completed but without submitting the report early.
A maximum of 95 % is achievable without the depth task being completed but report is submitted early.
A maximum of 90 % is achievable without the depth task being completed and without submitting the report early.
It is expected that all groups complete one-or-more laboratories with a maximum grade 90%. We do not expect any groups to complete all depth tasks.
Considering the above, achieving an A in the course will roughly require that:
at least two or three depth tasks are completed throughout the semester or
almost all reports are submitted early, or
A combination of the above two possibilities is done.
Final Project
Each group is required to do a final project that heavily employs the skills learned during the course laboratories. Determination and choice of the project is entirely up the team, but suggestions may be provided by the staff. The difficulty and time required to complete the final project should be greater than that of any of the labs, at a minimum. Final projects that are deemed to be too easy will have a grade penalty assessed if pursued. Proposals for the final project should be provided to the instructor such that a determination of the acceptability (difficulty and applicability) of the project can be made. The proposals should be provided in written form with a very clear description of the goals in order for judgment of the success or failure of each goal upon project completion. If during work on the project these goals require modification, the team should consult with the instructor.
The final project requires a report to be submitted upon completion that thoroughly discusses the concept, high-level design, low-level implementation, performance analysis, and issues and bugs. Guidance on the report format and content is provided on the class website.
Additionally, groups will present their final project during the final exam time slot. The presentation should consist of a demonstration of the project and a discussion of the project design (both code and hardware), including how the microcontroller peripherals are used to to enable and improve system efficiency.
For final projects that are considered very difficult and time consuming, it will be permitted that two groups work together on one project with clearly outlined tasks.
Homeworks
There are no homeworks for this class.
Quizzes and Exams
There are three quizzes given during the course, each occurring during the lecture session (Monday Afternoon). The quizzes will be short and open book and notes. Computers will be allowed, but only programs/documents allowed open are those specified by the instructor. All other programs must be closed. Chat interactions or “AI” tools are explicitly not allowed.
There are no exams for this class. There is no final exam. Final project presentations will occur during the final exam time slot.
Late Policy
In order to successfully complete the course in the allotted time, the laboratory exercises should be checked off by the scheduled start of the next lab; however, no penalty will be assessed if this is not the case. Reports are generally due 1 week after the scheduled completion of the lab and may be submitted earlier for extra credit. Late submission of the reports will incur a penalty of 20 points per class day. All labs and lab reports along with the final project and report must be completed and submitted by the end of the first official day of final exams in order to receive a passing grade in the course; however, it should be noted that access to the classroom and the equipment contained within should not be expected at times other than the officially scheduled times.
Attendance and Participation Policy
As noted, students will work in groups of two to complete laboratories. Teams will be formed the first week of class; however, if students are unsatisfied with the current arrangement, they are encouraged to either (1) work independently or (2) find a different group member. In either case, the instructor should be notified of any group dynamic changes.
Students are expected to contribute to the group goals in a timely and constructive manner. This does not necessarily imply that students be in the classroom at all official class times. As such, formal attendance is not required for this class; however, the instructor and TA(s) will monitor student participation within the group dynamic. For example, if one student does not frequently attend the class while the other group member is seen working by themselves, the group dynamic will be assessed and possible grade deductions assigned to the absent student.
Similarly, presence of a student in the classroom does not necessarily imply the student is contributing to the group effort. This will also be monitored.
Attendance during lectures is not required; however, it is the student’s responsibility to “catch-up” on the delivered material. Lecture slides and notes will be posted for this purpose.
Partners, Teamwork, and The Learning Community
Students will either submit work as a group for each laboratory. Interaction between groups is allowed and encouraged; however, all work completed by the group must be their own work. Students are expected to avoid collaboration, copying, and/or plagiarism. Please see the course Syllabus for more information.
Any assignments that have been identified as violating the Academic Integrity policy will be assigned a 0 for all parties involved, with multiple violations or egregious violations resulting in immediate student failure and referral to the Dean of Students.
Students in this course should be aware that the items emphasized above also apply to the source code generated by each student towards the completion of the laboratories and final project. Tools exist to detect similarities between source code files and the staff reserves the right to employ such tools to deter and detect source code based academic dishonesty.
Footnotes