Fall 2023

Prof. Charles Nicholas
ITE 356
Office hours: MW 2:30-4pm, subject to change

I'll be holding office hours in-person and over WebEx. It's a good idea to send email before trying to meet with me, since my schedule may change at short notice.

Link for WebEx office hours: https://umbc.webex.com/meet/nicholas

The TAs will hold office hours on the Discord site. In-person meetings will be by appointment only. Subject to change, see the entries for specific weeks below.



Email Address

Office Hours

Siddhesh Bhande Graduate Grader sbhande1@umbc.edu M 5:30-7:30pm, T 2:30-4:30pm
Kevin Chen Graduate Teaching Assistant kevin.chen@umbc.edu WTh 9:30-11pm (Discord only)

Rob Shovan

Assistant Instructor


W 4-6pm (Discord only)

Course Information

Class begins on Wednesday, August 30, 2023, 7:10-9:25pm.

The class will meet in hybrid format. In-person attendance or over WebEx are both acceptable.

The assigned classroom is ILSB 116B.

No face-to-face activity is required. If illness of any kind keeps you from finishing an assignment on time, let me know, and we'll try to be helpful.

This course uses WebEx for class presentations, and Discord for in-class discussions and meetings with TAs.
The WebEx and Discord links for the class and course assistant office hours are here. You will need UMBC credentials to access these links.

The WebEx portion(s) of each class will be recorded automatically, and made available after each class session. A link to the course recordings appears after each session. All recordings are in the same Box directory.

Course website: https://redirect.cs.umbc.edu/courses/undergraduate/CMSC491activeCyber/indexFall23.html (You are looking at this web page now :-)


Interest in cyberdefense, including inter-collegiate competition. Computer Science background equivalent to Data Structures CMSC 341 is assumed. A course in computer security is encouraged but not required.

Students are expected to have a working knowledge of the Windows and Unix operating systems, networks, and/or software development techniques, along with interest if not experience in planning and conducting both penetration testing and countermeasures development.

Abuse of the knowledge or experience you gain in this course may subject you to discipline under UMBC policy and/or criminal prosecution. Do not expect your status as a student to protect you if you break the law! Hacking into campus computers (other than systems approved for such a purpose) is a violation of UMBC policy, and may result in disciplinary action possibly including expulsion, in addition to possible criminal charges.

This class was taught for the first time in Fall 2017, and the web sites for Fall 2017, Fall 2018, Fall 2019, Fall 2020, Fall 2021, and Fall 2022 are still available.


Notes on the Schedule (Subject to Change)

There is NO final exam in this class...but anybody who does well on the in-class CTF held in late November will have reason to hope for a good grade!

Resources that don't fit into the schedule, but may still be helpful! I haven't tried them all, so watch your step!

Textbook(s): None

The following book(s) are not required, but may be helpful:

Cyberoperations, by Mike O'Leary, second edition

Windows Internals, Parts 1 and 2, by Mark Russinovich

Hacking: the art of exploitation, by Jon Erickson.

Be careful when dowloading "free" copies of this or similar books! Additional resources, varying in quality, can be found on Wikibooks and other places.

Course Policies


Students enrolled in CMSC 491 will be expected to attend and participate in the weekly Cyberdawg meetings, including the prep work that may be announed before or after each class session. Also, to suggest resources that could be added to this site, such as on-line tutorials, tools, YouTubes, and so forth. Students enrolled in CMSC 691 will be subject to the same expectations as students in 491.

Grading Scheme: 20% competition participation, 80% homeworks. Homeworks are equal weight, and there will be 8-10 of them. There are no exams.

You will be given time to work on each lab during the meetings. Some labs may have a group portion and an individual portion. You may collaborate with other students or CyberDawgs club members on the group portion of such labs. However, you must still complete the lab on your own virtual machine. You may not work on the individual portions of the labs with any other students or club members. Labs must be submitted by 7:00pm the following Wednesday. Whatever the number of lab assignments, the lowest lab grade will be dropped.

You are required to participate in at least one CTF or red team/blue team competition during the semester. At this time, we expect all such events to be online. Events hosted during regular club meetings do not count towards this requirement. Recommended competitions will be discussed in class. If you would like to compete in a competition that has not been mentioned, please email Dr. Nicholas.

Generative AI: For this class, if you use ChatGPT (or similar chatbots or AI-based generation tools), you must describe exactly how you used it, including providing the prompt, original generation, and your edits. This applies to prose, code, or any form of content creation. Not disclosing is an academic integrity violation. If you do disclose, your answer may receive anywhere from 0 to full credit, depending on the extent of substantive edits, achievement of learning outcomes, and overall circumvention of those outcomes.

Use of AI/automatic tools for grammatical assistance (such as spell-checkers or Grammarly) or small-scale predictive text (e.g., next word prediction, tab completion) is okay. Provided the use of these tools does not change the substance of your work, use of these tools may be, but is not required to be, disclosed.

Academic Integrity

Students are expected to do their own assignments. We may allow collaboration on certain assignments during the semester, but we will tell you so as that happens. If you submit for credit work that is not your own, there will be consequences, perhaps including zero on that assignment, reduction in final grade, or forfeiture of current or future prospects for financial aid from CSEE. Here is a web site that explains UMBC's position on Academic Integrity.

Resources for Students

Do you know about Retriever Essentials? It's there if you need them. According to their web site, "Retriever Essentials is a faculty, staff, and student-led partnership that promotes food access in the UMBC community. However, we offer more than just free groceries, we also offer toiletries, baby items, and meal swipes. The services we provide that are listed below are 100% free. You can find more in-depth information regarding each of our services in the attached documents."

We also incorporate the Syllabus Language provided by the UMBC Office of Equity and Civil Rights for this semester, as given here: