CMPE 240 Course Site
Instructor: Larry Kiser
Lecturer in Software Engineering
Contact info and Schedule
- Office: GOL-1557
- RIT email: LLKIEE at RIT.EDU
- Cell phone: 585-230-4400
- Office Hours 10:00 AM to 11:00 AM Monday, Tuesday, Wednesday, and Thursday.
Other times by appointment. I am in my office typically all day Monday through Thursday.
Class Schedule including Lecture Links
Activities and Homework
- Homework 1
- Marie Activities
- Purchase your STM32 kit this week between 8:30 and 4:30 Monday through Friday in the Software Engineering office.
The cost is $28.71 (total including sales tax). Tiger Bucks is the only form of payment accepted.
- C Basic programming activity zip file and
C Basic programming activity setup
 Solution: solution file
- STM32L476 LED and joystick demo
- Due Wednesday Feb 6 by end of class: run and update this UART_demo code:
- Due Monday Feb. 11 11:59 PM -- Using the STM32 technical documentation
- Due Tuesday Feb. 19 11:59 PM -- UART LED Project Part 1 (2x weighting)
- Wednesday Feb. 20 -- In class demos of Part 1.
- Monday March 4 11:59 PM -- Unit Test Activity 1
- Practice Practicum
- Due Wednesday March 20 11:59 PM -- UART LED Project Part 2 --
Demos in class Wed March 20 and Monday March 25.
- Due Sunday March 31 11:59 PM -- UART LED Project Part 3 --
Demos in class Wed March 27 and Monday April 1.
- Due Monday April 8 11:59 PM -- UART Cross Connect Polling
- UART Cross Connect Interrupt 1 Not graded
- Due Monday April 15 11:59 PM (HW1) Network Activities
- Due Wednesday April 17 11:59 PM (HW2) Network Activities
- Due April 22 at 11:59 PM UART Cross Connect Interrupt 2
- Due April 29 by 3:50 PM Use the unit test framework to create two CRC unit tests (one match and one mismatch)
using the Barr Group crc.zip library functions
- Use this updated zip file
instead as your starting file. We will go through this in class on Monday. We will help you finish in class.
- Reference: The Barr Group Checksums and CRCs
- Unit test 1 definition: Call append_crc function with the "1234".
Pass the updated char array to verify_crc function and confirm it returns true.
- Unit test 2 definition: Call append_crc function with the "4321".
Modify the updated char array to start with '5' instead of '4'.
Pass modified version of the updated string to verify_crc function and confirm it returns false.
- void append_crc( unsigned char *data ) where char *data points to a char array with a string
and at least 4 bytes after the end of string marker in that array.
- uint8_t verify_crc( char *data ) where char *data points to a char array
with 4 bytes of crc after the strings '\0' end of string marker. This is a modified version of our
standard string marker. This function returns true if CRC is correct, false otherwise.
- Use the crcSlow() function in the provided crc.zip file to calculate your crc.
- To do the copy of the crc value to the char array I suggest using memcpy to copy the four bytes
to a pointer that points to the char (byte) after the '\0' end of string marker.
Exams
- Mid-Term Exam
- In class C language practicum (50 minutes) on Wednesday March 6th.
- Section 01 exam is at 8:10 AM to 9:00 AM
- Section 02 exam is at 2:10 PM to 3:00 PM
- The first 10 minutes of class will be an introduction to the next activity.
That activity will be due Tuesday March 19th at 11:59 PM.
- Mid-Term Written BONUS Exam
- Exam begins at 10 minutes after the start of class.
- Practicum exam remains at 20% as stated before that exam.
- Closed book with one 8.5x11 inch double sided reference sheet written exam (50 minutes) on Wednesday April 3rd.
- This is a BONUS exam. Full credit on this exam can give you up to 5 points added to your course grade.
- A better grade on this exam will replace a low practicum exam grade. A reduced bonus may apply in some cases.
- Review topics:
- C Language bitwise operations including an 8 bit hardware register using | and
& bitwise operators.
- 8 bit signed and unsigned integers.
- Two's complement for 8 bit values.
- Reasonable proficiency with hexadecimal is expected. I will provide a hexadecimal chart.
- Code quality question on some provided C code.
- Non-blocking versus blocking operation.
- Final Exam
- Final exam (written closed book with reference sheet) location is the LOW-3215 auditorium in the
Max Lowenthal Hall
- Final Exam Review Notes
- Exam date/time is Friday May 3rd from 8 AM to 11:30 AM with a one bonus point for attending the first 2 hours.
- The actual exam will start promptly at 10 AM. You will have one hour to take the exam.
- Early Exam (GOL 1550) date/time is Thursday May 2nd from 1 PM to 2 PM.
Permission of the instructor is required to take the early exam.
- Only those approved for the Early Exam can submit this optional one bonus point assignment:
TBD.