CS 335 - CYBERSECURITY

Spring 2026

Class times:

Staff:

Instructor Email Office hours (KEC 123)
Galin Zhelezov gzhelezo at ycp dot edu After class or by appointment

Course Description

This course provides a hands‑on introduction to cybersecurity attacks and the defenses used to protect modern systems. You will explore security issues across operating systems, networks, web applications, and databases. Topics include covert channels, static and dynamic code analysis, and common attack vectors such as cross‑site scripting, SQL injection, buffer overflows, TCP/IP attacks, and web tracking.

Lab exercises and projects form the core of the course. Through these activities, you will deepen your understanding of cybersecurity principles and learn to apply them to real‑world problems.

Prerequisites

CS320 and CS330 with a grade of 2.0 or higher or IFS225, IFS230 and IFS320 with a grade of 2.0 or higher

Required Textbook

Wenliang Du, Internet Security : A Hands-On Approach. Wenliang Du; 3 edition, 2022, ISBN: 9781733003964. Adoptions Around the World

Course Structure and Expectations

Class meetings will focus on discussing key questions related to the topic and working through lab exercises that reinforce concepts from the lecture notes. You should arrive prepared to work on the lab for that day and bring any questions you have about the material.

In addition to the in‑class labs, you will complete a series of homework assignments—both written and programming—assigned roughly every 1–2 weeks. All homework must be completed individually.

A special thanks goes to Prof. Wenliang Du for his work on the SEED security labs, which form the foundation of our course projects.

There’s an old saying often attributed to Confucius: “Give a man a fish, and you’ll feed him for a day. Teach a man to fish, and you’ll feed him for a lifetime.” This course follows that spirit. You will get out of it what you put into it. Because we will cover a substantial amount of material quickly, staying engaged and keeping up with the work is essential.

To receive assistance on a programming assignment, you must have completed all lab activities up to and including the one assigned for the current class meeting. Cybersecurity is best learned through practice, and our class sessions will be highly hands‑on and interactive. You are expected to attend every session on time, review any suggested readings or materials beforehand, and participate respectfully in all activities.

Ultimately, achieving the course objectives requires taking responsibility for your own learning and engaging as an active participant throughout the semester.

Learning Outcomes

By the end of this course, you will be able to:

Policies

Grades

Grades are assigned on a 100-point scale:

Numeric Range Letter Grade
90-100 A (4.0)
87-90 B+ (3.5)
80-87 B (3.0)
77-80 C+ (2.5)
70-77 C (2.0)
60-70 D (1.0)
0-60 F (0.0)

Your overall grade for the course will be determined as follows:

(†) You are expected to make a genuine, good‑faith effort on every assignment and project in this course. Failure to complete all required work may result in a significantly reduced grade or a failing grade for the course.

Course website

Please check the course web page, https://ycpcs.github.io/cs335-spring2026/, regularly for important announcements.

Reading assignments

Readings from the textbook will be assigned throughout the semester and are listed in the Course Schedule. You are strongly encouraged to complete the assigned readings before coming to class so you can fully engage with the discussions and lab activities.

Homework and Lab Assignments

Homework assignments will build on the lab activities completed in class and may include both written and programming components. Collaboration on general ideas is encouraged, but each student must submit their own original work to demonstrate individual understanding of the material.

Assignments and labs will be posted on the course web page, https://ycpcs.github.io/cs335-spring2026. All homework assignments will be submitted as a single .pdf to https://cs.ycp.edu/marmoset/. If you have handwritten solutions, PLEASE USE A SCANNER APP to generate the .pdf. You are responsible for ensuring your submission and screenshots are legible.

You MUST make a genuine and legitimate attempt to complete every assignment. I reserve the right to assign a failing grade to any student who does not demonstrate a genuine, good‑faith effort in completing all required tasks. Consistent participation and sustained commitment are essential for successfully completing this course.

Late assignments will be marked down 20% per day late. No credit will be given for assignments that are more than three (3) days late.

Any Programming assignments will be graded based on the following criteria:

4: Superior. The program extends the basic requirements significantly by implementing additional graphical features covered in the text and other resources.

3-3.5: Good. The program goes beyond the basic requirements by embellishing the final output using techniques discussed in class.

2-2.5: Average. The program meets only the basic requirements of the assignment.

1: Below Average. The program produces mostly incorrect output or shows little attempt at a solution to the problem.

0: Failure. The program does not execute.

Project

The project will center on a cybersecurity topic of your choice that is not covered in class. Its purpose is to give you the opportunity to explore a specific issue in greater depth. To support steady progress, you will complete several milestones throughout the semester. The project will conclude with a final demonstration during the exam period, where you will showcase the functionality you have developed.

Quizzes

Quizzes will be open-book, closed-notes. They will last approximately 60 minutes and will be administered at the beginning of the class period.

Quizzes may include a programming component. The second half of the class may be used for instruction and/or laboratory work. A total of two quizzes will be administered.

No make-up quiz will be given without approval of the instructor prior to class unless proof of extreme emergency or illness is provided.

Data collection statement

As part of the regular ABET accreditation process for the computer science programs, we collect samples of student work from our undergraduate courses. Accordingly, some of your labs, assignments, or exams may be selected for review by ABET evaluators.

Academic Integrity

York College’s mission statement stipulates that strict adherence to principles of academic honesty is expected of all students. Therefore, academic dishonesty will not be tolerated at York College. Academic dishonesty refers to actions such as, but not limited to, cheating, plagiarism, fabricating research, falsifying academic documents, etc., and includes all situations where students make use of the work of others and claim such work as their own.

The following policy pertains to homework and graded (individual) Lab assignments:

All graded (individual) assignments are to be completed individually. I encourage you to discuss high level concepts with other students, but any work you submit must be yours alone.

Direct copying of code or other work from other students, web sites, or other sources is absolutely forbidden under any circumstances.

Any sources (books, websites, articles, fellow students, etc.), except for the course textbook and lecture notes, that you consult in completing an assignment must be properly acknowledged. In general, I strongly discourage you from using any resource not explicitly listed in the course syllabus or on the course web page. When you work on a programming assignment, it must be your program, not your adaptation of someone else’s program.

There may be some non-graded lab assignments (I will precisely stress that) - therefore, you may work with other students on them. However, I do expect you to complete them. You are encouraged to utilize the class time to work on the labs and ask any questions about them.

When a faculty member believes a student has committed an act of academic dishonesty, the faculty member must inform the student in writing and then has ten business days from that written notification to the student to report the incident to the Dean of Academic Affairs and the Department Chair. Documentation related to instances of academic dishonesty will be kept on file in the student’s permanent record. If the academic dishonesty is the student’s first offense, the faculty member will have the discretion to decide on a suitable sanction up to a grade of 0 for the course. Students are not permitted to withdraw from a course in which they have been accused of academic dishonesty.

Academic Integrity Policy (Philosophy Statement)

York College of Pennsylvania, as an institution of higher education, serves to promote and sustain the creation, acquisition, and dissemination of knowledge. In order to fulfill this purpose, an environment of integrity, dependability and honesty must be maintained by all members of the York College community. Without a foundation based on intellectual honesty and integrity, the very ability to uphold the academic endeavors that York College strives to pursue is inhibited. The Spartan Oath embodies the expectation that all members of the York College community foster an environment of integrity and responsibility. Recognize that adhering to an ethical standard of honesty leads to professional, mature and responsible citizens, and enables society at large to trust our scholarship, research, and conferred degrees. Thus, each member of the York College community must be truthful, honest, personally and professionally responsible, and respect the intellectual contributions of others.

The following policy pertains to all graded work in this course:

All graded (individual) assignments are to be completed individually. I encourage you to discuss high level concepts with other students, but any work you submit must be yours alone.

Direct copying of solutions or work from other students, web sites, or other sources is absolutely forbidden under any circumstances.

Any sources (books, websites, articles, fellow students, etc.), except for the course textbook and lecture notes, that you consult in completing an assignment must be properly acknowledged. In general, I strongly discourage you from using any resource not explicitly listed in the course syllabus or on the course web page but rather asking the instructor for assistance.

Exams must be completed individually using only the resources from the course.

You may work with other students on labs. However, we do expect you to complete and submit them, and they count towards your participation grade.

Definition of Academic Dishonesty

Engaging in academic dishonesty violates York College’s academic integrity policy and is strictly prohibited. Examples include, but are not limited to, cheating on assignments or exams, plagiarism (using someone else’s words or ideas without proper attribution), improper paraphrasing, fabricating research, falsifying academic documents, submitting work completed for another course, and turning in work not done independently (unless part of an explicitly collaborative project).

Academic Integrity Procedure – Reporting

Attendance and Participation

I expect you to attend class and participate regularly in class activities. If you miss a class, please notify me in advance. You are responsible for all material covered in class, regardless of whether or not you were present. If you attend and participate in class regularly, you can expect to receive full credit for attendance and participation. Frequent absence and/or lack of participation will reduce the credit you receive for attendance and participation. You are responsible for keeping up with the reading assignments as described in the course schedule.

Professionalism

I expect you to conduct yourself as a professional in this course. Professionalism includes:

I reserve the right to enforce this code through the York College Code of Student Conduct.

Use of Personal Technology in the Classroom

While York College recognizes students’ need for educational and emergency-related technological devices such as laptops, PDAs, cellular phones, etc., using them unethically or recreationally during class time is never appropriate. The college recognizes and supports faculty members’ authority to regulate in their classrooms student use of all electronic devices.

Communication Standards

York College recognizes the importance of effective communication in all disciplines and careers. Therefore, students are expected to competently analyze, synthesize, organize, and articulate course material in papers, examinations and presentations. In addition, students should know and use communication skills current to their field of study, recognize the need for revision as part of their writing process, and employ standard conventions of English usage in both writing and speaking. Students may be asked to further revise assignments that do not demonstrate effective use of these communication skills.

Student Accessibility Services

In accordance with the provisions of Section 504 of the Rehabilitation Act of 1973, and the Americans with Disabilities Act of 1990, York College and its faculty are obliged to make reasonable classroom and physical accommodations for students with disabilities. If you are a student with a disability in need of classroom accommodations and have not already registered with Student Accessibility Services, please see the SAS webpage for more information and to complete the online form to apply for accommodations. You may also contact sas@ycp.edu to establish the accommodations for which you are eligible.

Advice

Disclaimer

The instructor reserves the right to modify all policies within this syllabus including, but not limited to, number of assignments, weighting of assignments, and homework policies. Any significant changes will be announced to all students.