I strive to keep all my class materials available online, including syllabi, assignments, and code.
My current assignments:
CS 110 How to Program: This is an intoduction to programming and computer science for those with no prior programming experience. Labs provide a supportive environment to learn how to program with peers.
CS 465 Introduction to Computer Security and Privacy: Fundamental principles of computer security, including cryptography, systems, and software security.
UNIV 101 BYU Foundations for Student Success
CS 191 Exploring CS
I have a small tutorial on how to use Git that I put together for a skillathon sponsored by our Women in Computer Science club.
CS 260 Web Programming: An introduction to web programming, including HTML, CSS, and JavaScript. We build complete websites using the Vue framework on the front end and Node, Express, and Mongo on the back end.
CS 360 Internet Programming: Internet application programming, including client-server and web applications. Sockets, concurrency, thread-pool and event-driven architectures, experimental performance evaluation, web database application design, security issues. C++, Python, CSS, Javascript.
CS 460 Computer Communications and Networking: Introductory course in networking for undergraduate and beginning graduate students. Focuses on understanding how the Internet works, from the application layer down to the link layer. Application-layer networking, transport protocols (TCP and UDP), routing protocols, IP, link-level protocols, wireless networking, and multimedia networking.
CS 660 Computer Networks: This graduate course explores advanced topics in computer networks, focusing on fundamental research being conducted to improve the Internet. Topics include applications, routing, transport, wireless, measurements and other Internet research areas.
CS 601 Special Topics: Graduate courses on Advanced Operating Systems Usability Research Social Networking Wireless Mesh Networks and Peer-to-Peer Networking.
Digital Civilization: Honors 202 Western Civilization 2, co-taught with Gideon Burton in the English department in Fall 2010 and Winter 2012. Teaches western civilization from our current perspective in the digital revolution. The course emphasizes self-directed learning and the use of digital media (blogging, social bookmarking, social networking) to understand and relate to the history of Western civilization.