- 1 CSC 310: Advanced CS topics: 3 hours
- 2 Details for Fall 2020
- 3 Description for Fall 2020
- 4 Course Content
CSC 310: Advanced CS topics: 3 hours
Advanced cutting edge CS topics such as cloud computing, machine learning, big data, Internet of things, or mobile computing will be covered. Can be taken up to 4 times as long as the content is different. 3 lectures a week. Prerequisite: Permission of the instructor.
Goals for CSC 310 are:
To be determined
Course outcomes for CSC 310 are:
Upon completion of CSC 310, students will understand:
- a specific advanced topic in computing and the ethical and security issues associated with it
Program outcomes for CSC 310 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Communicate effectively in a variety of professional contexts.
- Learn new areas of technology
- Self-learning at the application level by requiring students to learn one component of the topic on their own (with little assistance from the instructor)
- Note taking at that master level by
- not posting lecture slides,
- requiring students to track all requirements themselves
- having exam questions based on specifics in the lectures and presentations given by other students.
- Technical writing at the mastery level by requiring to write a technical report of a project for the class in a quality manner. Advanced discussion on things such as a theme, transitions, use of diagrams, focus, and other items should be covered in class and graded on.
- Security at an application level by covering at least two separate security issues associated with the topic of the course.
- Ethics at an application level by covering at least two separate ethical issues associated with the topic of the course.
- Verbal communications at the application level by requiring students to present their projects and/or supplementary material to the class.
Details for Fall 2020
- Topic: Internet of Things
- Professor: Pete De Bonte
- Office TBD
- Class Time: 12:30-13:50 TR
- Class Location: SB 025
- Textbook: None
Description for Fall 2020
This course will introduce embedded application development, and the course topic will ultimately guide us toward a few particular facets of embedded systems:
- Telemetry [not actually covered, as the students limited programming experience hindered their project pace.]
- With the understanding that Java is the enrolled students' preferred programming language, an applications-grade processor has been selected to support a JVM.
- Desiring to provide students with reusable experiences, a Single-Board Computer (SBC) from the Raspberry Pi series has been selected, as they are likely the most popular SBCs at this time.
- Gain a working knowledge of common microcontroller peripherals
- Greater exposure to industry best-practice / Application Lifecycle Management
- If any 3rd-party code is used in a project, its permission/license shall be documented in a LICENCE[.md] file.
- Code lacking an explicit license and/or written permission statement shall not be used.
- Additional documentation shall be submitted with any project for:
- Attribution requirements: a plan for compliance, considering limitations of the embedded system
- Multiple FOSS licenses: an explanation of their compatibility
Details in any particular CANVAS Assignment will take precedence; however, the following are typical:
- Projects shall be submitted via GitHub.
- Work is typically
- Due before class on the date stated in the assignment.
- Late, yet still acceptable for half credit, up to the following class session.
- As each project segment will typically build on the next, they must be completed, even for zero credit, before starting the next segment. That is particularly important for class projects, in which tardiness would affect your classmates.
(In general, any incomplete classwork should be completed before the next class, to avoid holding back your classmates)
- First half of the course
- more conceptual, so grades were dominated by quizzes;
- however, I did give some credit for completing classwork (e.g. Raspberry Pi and GitHub setup).
- Second half, as the project work has commenced, I expect to instead focus grading on project completion and quality.
|8/18: Overview of Embedded Systems||8/20: Version Control/Git|
|8/25: ESD, Loading Raspbian||8/27: jGRASP/Java on a Pi|
|9/1: First quiz, Ohm's law, LEDs, Multimeters, GPIO||9/3: Quiz #2, Review quizzes, Diode measurements, ssh-keygen for Git|
|9/8: Quiz #3 (#1 Redux), push to Git||9/10: Pi4J v2.52 (the hidden Raspberry Pi 4 update) installed & verified|
|9/15: Pi Traffic Light class #1: Hardware Verification, GitHub Repo, Initial Design Discussion||9/17: Pi Traffic Light class #2: Introduction to TDD/Unit Testing|
|9/22: Pi Traffic Light class #3:
||9/24: Pi Traffic Light class #4: Discuss Unit Test Brainstorming Results|
|9/29: Pi Traffic Light class #5:
||10/1: Pi Traffic Light class #6: Extending an abstract class for instantiation|
|(10/5: Midterm grades due before midnight)|
|10/6: Pi Traffic Light class #7:
||10/8: Pi Traffic Light class #8:
|10/13: Pi Traffic Light class #9:
||10/15: Pi Traffic Light class #10: GPI and Interrupts|
|10/20: Networking class #1: Device Firmware Upgrade (DFU)||10/22: Networking class #2: Internet Protocol|
|10/27: Install and Configure Checkstyle for jGRASP||10/29: Networking class #3: Java Sockets and OutputStream|
|11/3: Networking class #4: Java Sockets and InputStream, with HTTP||11/5: Networking class #5: Using a Packet Analyzer (Wireshark) for HTTP & ICMP|
|11/10: Networking class #6:
||11/12: Project programming help session|
|11/17: Project programming help session||11/19:
|Final Exam 11/21: 15:30-17:00 (CAVEAT: Not a class day!)||11/26: Thanksgiving Break|
|Topics for a Part-Ⅱ course?||
ADA Statement for Syllabi: The Americans with Disabilities Act (ADA) is a law which provides civil rights protection for people with disabilities. Bethel University, in compliance with equal access laws, requests that students with disabilities seeking to acquire accommodations make an appointment with the Center for Academic Success—Disability Services. It is located in the Miller-Moore Academic Center, 033. You may also phone 574-807-7460 or email firstname.lastname@example.org for an appointment.
- SEATING – After choosing your seat for this class, please consistently sit in the same seat all semester.
- FACECOVERINGS - All students must wear face coverings in all classes. You have been provided face coverings for this purpose. If you forget your face covering, and can’t retrieve it and be back in the classroom quickly, you will need to find a private space to synchronously livestream this class or be counted absent.
- LIVESTREAMING - This class is being livestreamed and stored in Canvas for watching only by a student enrolled in this class. The purpose of the livestreaming/recorded lecture is to accommodate a student who is being quarantined or isolated due to COVID-19. Abusing this feature by letting other students not enrolled in this class view the recording or privately videotaping the recording will be considered a violation of the Campus Lifestyle Covenant. However, when you are ill or participating in a campus sponsored event (like a sport team) you are encouraged to view the recording at a later time.