CSE 40842 is a Computer Science and Engineering elective course at the University of Notre Dame that explores the idea of a "hacker" and the practice of participating in the open source "bazaar". To examine the history and culture of hackers, we will read, discuss, and reflect on books such as Hackers: Heroes of the Computer Revolution, Hackers & Painters, The Cathedral and the Bazaar, and Just For Fun. Additionally, students will apply the ideas and concepts explored in these books by contributing to different open source projects. Finally, students will develop projects of their own design by employing the open source development methodology.

Upon successful completion of this course, students will be able to:

  1. Discuss the history and impact of the Hacker Culture and Hacker Ethic on the technology community.

  2. Contribute to open source projects in a productive and effective manner.

  3. Construct software artifacts in a collaborate group environment.

Class Information

Lecture
T/TH 9:35 AM - 10:50 AM
Location
119 DeBartolo Hall
Zoom Meeting
970 7120 6713
Mailing List (Class)
sp21-cse-40842-01-group@nd.edu
Slack
#cse-40842-sp21
GitHub
nd-cse-40842-sp21
Blogs
Planet RSS, Blog List

Instructor

Instructor
Peter Bui (pbui@nd.edu)
Office Hours (In-Person)
M/W/F 2:00 PM - 3:30 PM, and by appointment
Office Hours (Online)
T/TH 2:00 PM - 3:30 PM, and by appointment
Office Location
326D Cushing Hall

Help Protocol

  1. Think
  2. Slack
  3. Think
  4. Email
  5. Think
  6. Office
Unit Date Topics Assignments
Book 01: Hackers - Heroes of the Computer Revolution
True Hackers Thu 02/04 Cambridge: The Fifties and Sixties Slides Slides Reading 01
Sat 02/06 Individual Reflection Writing 01
Hardware Hackers Tue 02/09 Northern California: The Seventies Slides Reading 02
Thu 02/11 Custom Computers Liquid and Air Cooling Code Golfing Margaret Hamilton Proposal 01
Sat 02/13 Individual Reflection Writing 02
Game Hackers Tue 02/16 The Sierras: The Eighties Slides Reading 03
Thu 02/18 EVE Server tech Graphics Kevin Mitnick Anonymous Piracy Progress 01
Sat 02/20 Individual Reflection Writing 03
Project 01 Tue 02/23 Hackathon
Thu 02/25 Presentations Gallery Project 01
Book 02: Hackers & Painters
Nerds as Hackers Tue 03/02 Mini-Break
Thu 03/04 Why Nerds Are Unpopular, Hackers and Painters, Good Bad Attitude, What You Can't Say Slides Reading 04
Sat 03/06 Individual Reflection Writing 04
Programming Languages Tue 03/09 Beating the Averages, The Hundred-Year Language, Revenge of the Nerds Slides Reading 05
Thu 03/11 AWS Monopolies Golang TypeScript Proposal 02
Sat 03/13 Individual Reflection Writing 05
Wealth Creation Tue 03/16 The Other Road Ahead, How To Make Wealth, Mind the Gap Slides Reading 06
Thu 03/18 Containers Chess Engines Cryptocurrency Virtual Assistants Progress 02
Sat 03/20 Individual Reflection Writing 06
Project 02 Tue 03/23 Hackathon
Thu 03/25 Presentations Gallery Project 02
Book 03: The Cathedral and the Bazaar
History, Manifesto Tue 03/30 A Brief History of Hackerdom, The Cathedral and the Bazaar Slides Reading 07
Thu 04/01 Social Impact Open Source Apache Flink Shotcut
Mon 04/05 Individual Reflection Writing 07
Customs, Culture Tue 04/06 Homesteading the Noosphere Slides Reading 08
Thu 04/08 FSF IRC Fuzzing Proposal 03
Sat 04/10 Individual Reflection Writing 08
Economics, Sustainability Tue 04/13 The Magic Cauldron Slides Reading 09
Thu 04/15 Bug Bounties Patreon Wizard 101 Twitch Streams Female e-Sports Streamers
Sat 04/17 Individual Reflection Writing 09
Book 04: Just for Fun
Birth of a Nerd / OS Tue 04/20 Birth of a Nerd, Birth of an Operating System Slides Reading 10
Thu 04/22 Emacs MINIX TempleOS Mac OS
Sat 04/24 Individual Reflection Writing 10
Linux Revolution Tue 04/27 King of the Ball Slides Reading 11
Thu 04/29 Cross Compiling AUR Homebrew Flutter XML Moral Superiority Progress 03
Sat 05/01 Individual Reflection Writing 11
Revolution OS Tue 05/04 Revolution OS
Thu 05/06 Hackathon
Project 03 Tue 05/11 Presentations Project 03

Coursework

Component Points
Readings Weekly reading assignments and corresponding Writings. 10 × 6
Projects Collaborative group projects. 45, 45, 60
Presentation Individual presentations. 2 × 30
Participation Regular class attendation and contribution to course community. 30
Total 300

Grading

Grade Points Grade Points Grade Points
A 285-300 A- 270-284
B+ 260-269 B 250-259 B- 240-249
C+ 230-239 C 220-229 C- 210-219
D 180-209 F 0-179

Due Dates

  • All Readings are due at noon Saturday of the assigned week.
  • All Proposals and Progress Reports are due at midnight Thursday of the assigned week.
  • All Projects are due when they are presented in class.

Policies

Participation

Students are expected to attend and contribute regularly in class. This means answering questions in class, participating in discussions, and helping other students.

Foreseeable absences should be discussed with the instructor ahead of time.

Community

Recalling one of the tenets of the Hacker Ethic:

Hackers should be judged by their hacking, not criteria such as degrees, age, race, sex, or position.

Students are expected to be respectful of their fellow classmates and the instructional staff.

Blog

All responses to the Readings should be posted to each student's individual blog. Choice of blog platform is up to each student, but the student must provide a valid RSS or ATOM feed to their blog at the beginning of the semester for easy syndication and monitoring.

Late Work

In the case of a serious illness or other excused absence, as defined by university policies, coursework submissions will be accepted late by the same number of days as the excused absence.

Otherwise, there is an automatic penalty of 25% late penalty for assignments turned in 12 hours pass the specified deadline.

Academic Honesty

All work that you submit must be your own. Collaboration is encouraged but must be disclosed by all parties. Print or online resources are allowed, but must be disclosed. However, you may not look at solutions from other current or past students, or any other source.

Students with Disabilities

Any student who has a documented disability and is registered with Disability Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact the Office of Disabilities.

Health and Safety Protocols

In this class, as elsewhere on campus, students must comply with all University health and safety protocols, including:

  • Face masks that completely cover the nose and mouth will be worn by all students and instructors.
  • Physical distancing will be maintained in all instructional spaces.
  • Students will sit in assigned seats throughout the semester, which will be documented by faculty for purposes of any needed contact tracing.
  • Protocols for staged entry to and exit from classrooms and instructional spaces will be followed.

We are part of a community of learning in which compassionate care for one another is part of our spiritual and social charter. Consequently, compliance with these protocols is an expectation for everyone enrolled in this course. If a student refuses to comply with the University’s health and safety protocols, the student must leave the classroom and will earn an unexcused absence for the class period and any associated assignments/assessments for the day. Persistent deviation from expected health and safety guidelines may be considered a violation of the University’s "Standards of Conduct,” as articulated in du Lac: A Guide for Student Life, and will be referred accordingly.

We will be reading the following books this semester:

Hackers: Heroes of the Computer Revolution

Steven Levy

Hackers & Painters: Big Ideas from the Computer Age

Paul Graham Online Compilation

The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary

Eric Raymond Online Compilation

Just For Fun: The Story of an Accidental Revolutionary

Linus Torvalds and David Diamond Online Archive

Online Texts

Some of the books can be found legally online. Those resources are linked above.