Skip to content

Syllabus

Course Description

This course will provide a broad overview of many common and useful tools, like the command line, Git, debuggers, build systems, and more. Through a hands-on approach, you will be introduced to a variety of tools and techniques that can immediately be applied to everyday problems. We aim to provide students with material that improves their computing ecosystem literacy and increases their efficiency as a developer.

Course Details

  • Course: Practical Tools For Efficient Development
  • Prerequisites: Minimum grade of C- in CMSC216 and CMSC250
  • Credits: 1
  • Seats: 30
  • Lecture Time: Friday 11:00 AM – 11:50 AM
  • Location: IRB 2207
  • Semester: Spring 2026
  • Course Facilitator(s): Mohammad Durrani
  • Faculty Advisor: Prof. Christopher Kauffman

Course Schedule

This is subject to change.

DateConceptAssignment
01/30/2026The ShellSystem Monitoring Project Released
02/06/2026Shell Tools and Scripting
02/13/2026Data Wrangling / Command-line Environment
02/20/2026Shell “Application Day”
02/27/2026Debugging and ProfilingSystem Monitoring Project Due, Release PacMan Part 1
03/06/2026Version Control (Git)
03/13/2026Version Control (Git)
03/20/2026Spring Break
03/27/2026Build Systems / CIPacMan Project Part 1 Due, release Part 2
04/03/2026Git “Application Day”
04/10/2026Docker
04/17/2026NetworkingPart 2 due, Networking Project Released
04/24/2026Docker/Networking Application Day
05/01/2026ML/AI Tools
05/08/2026FlexNetworking Project Due

Grading

Grades will be maintained on ELMS. You will be responsible for all material discussed in lecture as well as other standard means of communication (Piazza, email announcements, etc.), including but not limited to deadlines, policies, assignment changes, etc.

Any request for reconsideration of any grading on coursework must be submitted within one week of when it is returned. No requests will be considered afterwards.

Participation grades will be determined by the tracking of participation in class.

PercentageTitleDescription
80%Projects4 major projects
15%Application DaysCompletion of Application Day assignments
5%ParticipationParticipation in class

Late Policy

There will be a standard 10% late penalty per 24-hour period for any project submitted past the deadline. No late submissions will be accepted for the final project.

Communicating with Course Staff

Communication should be done over Piazza, with preferably public posts unless a private post is necessary (grading disputes, student-specific questions, etc.).

Excused Absence and Academic Accommodations

See the section titled “Attendance, Absences, or Missed Assignments” available at Course Related Policies.

Disability Support Accommodations

See the section titled “Accessibility” available at Course Related Policies.

Academic Integrity

Academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. All submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct.

AI / LLM Policy

LLMs are likely one of the tools you will have access to in your development, so reasonably, you should be able to use them in this class. However, like everything else in this course, this is a tool for you to use and not something that should completely replace your learning. You are allowed to use LLMs to clarify your understanding and ask questions (think of it as a tutor), but any and all submitted work must be your own. Any violation of this policy will be escalated per standard University procedures.

Course Evaluations

If you have a suggestion for improving this class, don’t hesitate to tell the instructors at any point during the semester. At the end of the semester, please don’t forget to provide your feedback using the campus-wide CourseEvalUM system.

Citation

This course pulls material heavily from “The Missing Semester of Your CS Education” from MIT (Anish Athalye, Jon Gjengset, Jose Javier Ortiz). Materials follow the CC BY-NC-SA license.