BYU logo Computer Science
CS 465 Introduction to Security and Privacy

Syllabus

Welcome

This is the second semester of a redesign for CS 465. This new version of the course gives a wider introduction to computer security than in the past and tries to use only CS 224 as a prerequisite. I am hoping this course can become accessible to sophomores.

Because the course is still being revised, 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.

Major topics include:

  • operating system security
  • software security
  • network security
  • web security
  • threat modeling
  • usable security and privacy

This course is designed to meet the BYU Aims: this course should be spiritually strengthening, intellectually enlargening, character building, and lead to lifelong learning and service.

Learning Outcomes

The learning outcomes for this class are:

  • Fluency: Develop fluency in the language and concepts related to securing computing systems

  • Attacks and Defenses: Be able to execute common attacks against computer systems and deploy defenses against those attacks

  • Secure software: Write software that uses cryptographic primitives to securely communicate and store information

  • Security Mindset: Think like an attacker to identify key assets, risks, and mitigations associated with the security and privacy of a system

Materials

We will use a few different free resources for this class. These are all linked in the class schedule. The two primary resources are:

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

Operating Systems: Three Easy Pieces

Available at: https://pages.cs.wisc.edu/~remzi/OSTEP/

Course Requirements

  • Homework: Homework is used to practice material from the class and get you ready for projects. Homework is graded on a participation basis and is worth 10% of your grade.

  • Projects: Projects give students hands-on experience with the topics covered in class. Projects are worth 70% of your grade

  • Discipleship: A set of assignments that will help you develop into a disciple-scholar. These assignments are graded based on demonstrating disciple-scholarship and are worth 20% of your grade.

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.

There are no exams this semester, because the assignments are designed to cover all of the material. Instead, a final project will have you learn something new beyond what was covered in class.

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. Most importantly, if you need help, please come and talk to a TA or to me. We really are here to help you.

Collaboration

Projects

There are some group assignments 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.

Late Policy

The late penalty is 2% per day, for a maximum of 30% off. This should give everyone flexibility to be a little late without harming their grade, e.g. for job interviews or other travel.

You should talk to me if:

  • You are falling more than a week behind in class, so we can make a plan to help you succeed.

  • You have official university accommodations that I can help you with.

  • You have any physical or mental health issues, or major life events that will impact your ability to finish.

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 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 solutions 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.”