On this page:
1 Prerequisites and Description
2 Course Workflow
3 Office Hours
4 Topics
5 Grading
6 Participation
7 Quizzes & surveys
8 Project
9 Computing Resources
10 Outside-of-class communication with course staff
11 Excused Absences
12 Students with Disabilities
13 University of Maryland Policies for Undergraduate Students
14 Academic Integrity
15 Course Evaluations
16 Right to Change Information
7.9

Syllabus

    1 Prerequisites and Description

    2 Course Workflow

    3 Office Hours

    4 Topics

    5 Grading

    6 Participation

    7 Quizzes & surveys

    8 Project

    9 Computing Resources

    10 Outside-of-class communication with course staff

    11 Excused Absences

    12 Students with Disabilities

    13 University of Maryland Policies for Undergraduate Students

    14 Academic Integrity

    15 Course Evaluations

    16 Right to Change Information

1 Prerequisites and Description

Prerequisite: none.

Credits: 1.

CMSC 388Q is an introduction to functional programming in Racket. Its major goal is to explore programming within the Racket ecosystem. Throughout the course, students will collaborative design and build a single peice of software using Racket.

It is helpful, but not required, to have some familiarity with a functional programming such as OCaml from CMSC 330.

2 Course Workflow

The course will be a combination of synchronous video meetings, live Q+A sessions, online course notes, and a discussion forum in the form of a Discord server. Students are expected to keep up with the Discord discussion and either attend the video meeting or view a recording in a timely manner.

3 Office Hours

Office hours will consist of the professor’s daily availability on Discord or by email. If you’d like to schedule a video meeting, just ask.

The discord server is there for you to organize as a class, ask questions of each other, and to get help from staff.

There is a channel ‘#course-discussion’ that is meant for discussion/questions/help regarding the material of the course, make sure that you keep that channel free from noise so that other students and course staff can easily see what issues are being brought up.

4 Topics

This course will be intentionally open-ended; we will collectively decide what to explore, but some potential topics include:

5 Grading

Grades will be maintained on ELMS.

You are responsible for all material discussed in lecture and posted on the class web page, including announcements, deadlines, policies, etc.

Your final course grade will be determined according to the following percentages:

Component

 

Percentage

Participation

 

30%

Quizzes & surveys

 

20%

Final project

 

50%

6 Participation

Participation is a crucial element of this course and there are several ways to participate. You can:
  • participate in video meetings

  • participate in discussions on Discord

  • submit pull requests on Github

  • create issues on Github

  • write code reviews on Github

7 Quizzes & surveys

There will be some quizzes and surveys. Completed surveys receive full credit.

8 Project

A major component of the course will be a course Project that will be assessed during the “final exam” period for the course.

9 Computing Resources

It’s highly recommended you use your own computing system for development. Racket runs on all major platforms, so there should be no problem running programs on your own machines.

If you don’t have access to your own computing systems, you may using the University’s GRACE cluster.

We will use Github and its continuous integration services to build and test software.

10 Outside-of-class communication with course staff

Course staff will interact with students outside of class electronically via e-mail.

Important announcements will be made in class, on the class web page, or via Discord.

11 Excused Absences

You are not required to attend the video meetings, so there is no need to seek excused absences. Just make sure you participate in other ways.

Missing the final project deadline for reasons such as illness, religious observance, participation in required university activities, or family or personal emergency (such as a serious automobile accident or close relative’s funeral) will be excused so long as the absence is requested in writing at least 2 days in advance and the student includes documentation that shows the absence qualifies as excused; a self-signed note is not sufficient as exams are Major Scheduled Grading Events. For this class, the final project assessment is on the only Major Scheduled Grading Event and it will take place:

The final time is scheduled according to the University Registrar. You do not need to be present for the assesment; you just need to submit your work prior to the assessment time.

It is the University’s policy to provide accommodations for students with religious observances conflicting with major scheduled grading events, but it is the your responsibility to inform the instructor in advance of intended religious observances. If you have a conflict with one of the planned events, you must inform the instructor prior to the end of the first two weeks of the class.

Besides the policies in this syllabus, the University’s policies apply during the semester. Various policies that may be relevant appear in the Undergraduate Catalog.

If you experience difficulty during the semester keeping up with the academic demands of your courses, you may consider contacting the Learning Assistance Service in 2201 Shoemaker Building at (301) 314-7693. Their educational counselors can help with time management issues, reading, note-taking, and exam preparation skills.

12 Students with Disabilities

Students with disabilities who have been certified by Disability Support Services as needing any type of special accommodations should see the instructor as soon as possible during the schedule adjustment period (the first two weeks of class). Please provide DSS’s letter of accommodation to the instructor at that time.

All arrangements for major grading event accommodations as a result of disability must be made and arranged with the instructor at least three business days prior to the event date; later requests (including retroactive ones) will be refused.

13 University of Maryland Policies for Undergraduate Students

Please read the university’s guide on Course Related Policies, which provides you with resources and information relevant to your participation in a UMD course.

14 Academic Integrity

The Campus Senate has adopted a policy asking students to include the following statement on each examination or assignment in every course: "I pledge on my honor that I have not given or received any unauthorized assistance on this examination (or assignment)." Consequently, you will be requested to include this pledge on each exam and assignment. Please also carefully read the Office of Information Technology’s policy regarding acceptable use of computer accounts.

Assignments and projects are to be completed individually, therefore cooperation with others or use of unauthorized materials on assignment or projects is a violation of the University’s Code of Academic Integrity. Both the person receiving assistance and the person providing assistance are in violation of the honor code. Any evidence of this, or of unacceptable use of computer accounts, use of unauthorized materials or cooperation on exams or quizzes, or other possible violations of the Honor Code, will be submitted to the Student Honor Council, which could result in an XF for the course, suspension, or expulsion.

Violations of the Code of Academic Integrity may include, but are not limited to:

If you have any question about a particular situation or source then consult with the instructors in advance. Should you have difficulty with a programming assignment you should see the instructional staff in office hours, and not solicit help from anyone else in violation of these rules.

It is the responsibility, under the honor policy, of anyone who suspects an incident of academic dishonesty has occurred to report it to their instructor, or directly to the Honor Council.

Every semester the department has discovered a number of students attempting to cheat on assignments, in violation of academic integrity requirements. Students’ academic careers have been significantly affected by a decision to cheat. Think about whether you want to join them before contemplating cheating, or before helping a friend to cheat.

You may not share, discuss, or compare assignment solutions even after they have been graded since later assignments may build upon earlier solutions.

15 Course Evaluations

If you have a suggestion for improving this class, don’t hesitate to tell the staff during the semester. At the end of the semester, please don’t forget to provide your feedback using the campus-wide CourseEvalUM system. Your comments will help make this class better.

16 Right to Change Information

Although every effort has been made to be complete and accurate, unforeseen circumstances arising during the semester could require the adjustment of any material given here. Consequently, given due notice to students, the instructors reserve the right to change any information on this syllabus or in other course materials. Such changes will be announced and prominently displayed at the top of the syllabus.