BYU logo Computer Science
CS 465 Introduction to Security and Privacy

Syllabus

Welcome

This course is an experiment this year — I am broadening the course to provide a wider introduction to computer security than in the past, including some topics on privacy, and using only CS 224 as a prerequisite. I am hoping this course can become accessible to sophomores.

Because this is a revised course, I would like your feedback on how things are going during the semester. This includes workload, assignment complexity, time spent on out-of-class activities, etc. Please help me know if I’m meeting my target. In return, I’ll be flexible if anything unexpected happens, assignments are not clear, or work takes longer than expected.

Course Description

This course is designed to provide a broad introduction to digital security and privacy. It helps students think about security as a software engineer and become ready to take further coursework in security and privacy.

Topics include:

  • security concepts and principles,
  • cryptographic building blocks,
  • authentication,
  • operating system security and access control,
  • software security,
  • malicious software,
  • public key certificate management and use,
  • web and browser security,
  • firewalls and tunnels,
  • intrusion detection network-based attacks,
  • wireless LAN security,
  • privacy, and
  • human factors in security.

It concludes with an overview of security and privacy research occurring in the CS department.

Learning Outcomes

The learning outcomes for this class include:

  • Students will be able to think like an attacker, identifying key assets and risks associated with the security of a system
  • Students will be able to describe common cybersecurity vulnerabilities and issues
  • Students will be able to identify common cybersecurity technologies and mitigations and describe when they should be applied
  • Students will be able to write software that makes use of cybersecurity technologies and mitigations
  • Students will be able to formulate privacy objectives for a software system and how they can be met.

Learning Environment

Prior to each class, there will be an assigned reading. Students are expected to complete this reading and come prepared with any questions they have about the material in the reading. Class time will be divided into three sections:

  • answering questions about the reading
  • reviewing key topics from the reading
  • doing exercises related to difficult to understand sections in the reading

At the end of most units, students will complete a project to demonstrate their mastery of the material covered in the lectures.

Finally, two exams will access knowledge of the material covered in the readings.

Course Communications

  • Use this website for the course schedule and assignments.

  • Use Learning Suite to turn in assignments and see your grade.

  • Use Discord for class discussion. I encourage you to post your questions on Discord so other students, the TAs, and the instructor can answer them for everyone. Here is a Discord invitation.

  • Use TA office hours to get help on course concepts and the projects. TAs are not expected to debug your program, but can talk to you about the concepts and whether your solution is going in the right direction.

  • Use Instructor office hours as needed. Office hours with the instructor are generally underutilized! You are welcome to stop by for:

    • questions about concepts or assignments you aren’t clear on
    • general advice about the CS degree
    • general advice about your career
    • just getting to know each other

How to Be Successful in This Course

Come to class having finished the readings, prepared to ask any questions you had about the material. For projects, start early. This will enable you to get the help you need, and earn the extra credit available for staying ahead in projects. Finally, for exams, come prepared, making sure you know the material exactly not just generally. Most importantly, if you need help, please come and talk to a TA or to me. We really are here to help you.

Materials

  • See this website for the course schedule and assignments.

  • See Learning Suite to turn in assignments and see your grade.

  • Use Discord… TBD

Computer Security and the Internet: Tools and Jewels from Malware to Bitcoin, Second Edition. Paul C. van Oorschot. Springer, 2021.

Available at: https://people.scs.carleton.ca/~paulv/toolsjewels.html

If you are on campus or using the BYU VPN, you can also access a free PDF of the book here: https://link.springer.com/book/10.1007/978-3-030-83411-1

Course Requirements

  • Exams: There will be two exams covering material from the lectures and assigned readings. Together, these exams will each be worth 30% of the student’s final grade.

  • Projects: There will be 8 projects. These projects will give students hands-on experience with the topics covered in class. Cumulatively, these projects will account for 70% of a student’s final grade.

Collaboration

Projects

There are some group projects for this class. In those cases, you are encouraged to work together. Please turn in a single assignment for your group. Put all of your names on the assignment, and then we will be sure to get you all the same grade.

Any assignment not marked as group work is designed for individual work. In this case, you are welcome to discuss the assignment with other class members and how to solve it, but you may not view, share, or copy another student’s code.

Exams

All exams are individual work. Follow the honor code and the instructions in the exam.

Late Policy

There is no penalty for late work. But wait, there is a catch. Your job a student is to:

  • Stay on top of the class readings, coming to class, and learning.

  • Do your best to turn work in on time. Otherwise, you’re hurting your ability to learn, and learning is why you are here (in my class, and on earth).

  • Turn in all work by the last day of classes for the semester.

  • Talk to me if you are falling more than a week behind in class.

  • Talk to me if you have official university accommodations that I can help you with.

  • Especially talk to me if you have any physical or mental health issues, or major life events that will impact your ability to finish. I will work with you to see how you can be successful.

Belonging

My goal is for everyone in this class to know that they are valued and belong. I wholeheartedly support the BYU Statement on Belonging.

The TA and instructors pledge to answer all questions in a caring and helpful manner.

If you feel you are lacking support and would like some mentoring, please contact the CS belonging team in TMCB 1112. They are a wonderful resource to get you any help you need.

If you have difficulty with your mental health, please seek counseling. See CAPS for counseling and the University Accommodations Center for accommodations. If you need help with accommodations, send me a note on Discord and we can handle that quickly and easily for you. Likewise if , let’s talk about getting you some help.

I strive to be supportive of anyone who struggles with the class, anyone who is from a historically underrepresented group in CS, anyone who is LGBTQ+, or anyone who has an illness or other extenuating circumstances that is impacting their performance in the class. You are welcome to talk to me any time about difficulties you are having.

Academic Integrity

Please remember the reason you are at BYU—to become like Jesus Christ. Part of this journey is to study and learn (see D&C 88:118, D&C 93:36, D&C 130:18-19).

When you fail to be honest in your studies, you are missing an opportunity to grow more like Christ. We encourage you to do your utmost to ensure that you don’t compromise your integrity as you work to learn the material in this course.

Please review the BYU Honor Code and the Academic Honesty Policy.

If you are tempted to cheat because you are falling behind in the class, please come talk to me instead. I’m sure we can work something out to help you master the material for this class.

Try to focus on collaboration instead of cheating. Collaboration means discussing ideas and approaches to solving a problem, without viewing or sharing code.

What constitutes cheating?

Cheating includes:

  • Copying part or all of another student’s project code with the exception of your partner(s) on group projects. This includes students from previous semesters.

  • Using an AI-assisted tool to write your code.

  • Copying part or all of another student’s exam answers.

  • Collaborating with another student when taking the midterm or final exams by receiving or giving assistance of any kind.

  • Copying code from online sources without crediting them. You are welcome to look up solutions to specific problems (e.g. how to use a library) online, but should not be searching for exact solutons online.

  • Using or paraphrasing someone else’s words without crediting them.

If you are unsure about whether or not something constitutes cheating, please confirm with an instructor or TA.

What happens if you cheat?

If you have chosen to be dishonest, please come talk to your instructor! I will lovingly help you as you seek to reconcile with the truth. It will likely feel uncomfortable and will take courage and humility, but the peace and satisfaction of knowing you are again in the right is completely worth it. Learn for yourself the joy of repentance.

The usual outcome for cheating on an assignment is a zero on that assignment. If you have cheated on multiple assignments, you will receive an E for the course.

In most cases, the names of those who have cheated will be given to the Honor Code Office.

BYU Policies

Honor Code

In keeping with the principles of the BYU Honor Code, students are expected to be honest in all of their academic work. Academic honesty means, most fundamentally, that any work you present as your own must in fact be your own work and not that of another. Violations of this principle may result in a failing grade in the course and additional disciplinary action by the university. Students are also expected to adhere to the Dress and Grooming Standards. Adherence demonstrates respect for yourself and others and ensures an effective learning and working environment. It is the university’s expectation, and every instructor’s expectation in class, that each student will abide by all Honor Code standards. Please call the Honor Code Office at 422-2847 if you have questions about those standards.

Preventing & Responding to Sexual Misconduct

The health and well-being of students is of paramount importance at Brigham Young University. If you or someone you know has experienced sexual harassment (including sexual violence), there are many resources available for assistance.

In accordance with Title IX of the Education Amendments of 1972, BYU prohibits unlawful sex discrimination, including sexual harassment, against any participant in its education programs or activities. The university also prohibits sexual harassment by its personnel and students. Sexual harassment occurs when

  • a person is subjected to unwelcome sexual speech or conduct so severe, pervasive, and offensive that it effectively denies their ability to access any BYU education program or activity;
  • any aid, benefit, or service of BYU is conditioned on a person’s participation in unwelcome sexual conduct; or
  • a person suffers sexual assault, dating violence, domestic violence, or stalking on the basis of sex.

University policy requires all faculty members to promptly report incidents of sexual harassment that come to their attention in any way, including through face-to-face conversations, a written class assignment or paper, class discussion, email, text, or social media post. Incidents of sexual harassment should be reported to the Title IX Coordinator at t9coordinator@byu.edu or (801) 422-8692 or 1085 WSC. Reports may also be submitted online at https://titleix.byu.edu/report or 1-888-238-1062 (24-hours a day).

BYU offers confidential resources for those affected by sexual harassment, including the university’s Sexual Assault Survivor Advocate, as well as a number of non-confidential resources and services that may be helpful. Additional information about Title IX, the university’s Sexual Harassment Policy, reporting requirements, and resources can be found at http://titleix.byu.edu or by contacting the university’s Title IX Coordinator.

Student Disability

Brigham Young University is committed to providing a working and learning atmosphere that reasonably accommodates qualified persons with disabilities. A disability is a physical or mental impairment that substantially limits one or more major life activities. Whether an impairment is substantially limiting depends on its nature and severity, its duration or expected duration, and its permanent or expected permanent or long-term impact. Examples include vision or hearing impairments, physical disabilities, chronic illnesses, emotional disorders (e.g., depression, anxiety), learning disorders, and attention disorders (e.g., ADHD). If you have a disability which impairs your ability to complete this course successfully, please contact the University Accessibility Center (UAC), 2170 WSC or 801-422-2767 to request a reasonable accommodation. The UAC can also assess students for learning, attention, and emotional concerns. If you feel you have been unlawfully discriminated against on the basis of disability, please contact the Equal Opportunity Office at 801-422-5895, eo_manager@byu.edu, or visit https://hrs.byu.edu/equal-opportunity for help.”