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.

  4. Communicate technical ideas and concepts to a public audience.

Class Information

Lecture
T/TH 11:00 AM - 12:15 PM
Location
129 DeBartolo Hall
Mailing List
fa24-cse-40842-01-group@nd.edu
Slack
#cse-40842-fa24
GitHub
nd-cse-40842-fa24
Blogs
Planet RSS, Blog List

Instructor

Instructor
Peter Bui (pbui@nd.edu)
Office Hours
M/T/W/TH/F 1:30 PM - 3:00 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 Tue 08/27 Syllabus, Logistics Slides 00 Reading 01
Thu 08/29 Cambridge: The Fifties and Sixties Slides 01
Sun 09/01 Individual Reflection Writing 01
Hardware Hackers Tue 09/03 Northern California: The Seventies Slides 02 Reading 02
Thu 09/05 HFT Systems Proposal 01
Sun 09/08 Individual Reflection Writing 02
Game Hackers Tue 09/10 The Sierras: The Eighties Slides 03 Reading 03
Thu 09/12 CGI Steam Deck ROMS Playstation Antipiracy RCT and Assembly Progress 01
Sun 09/15 Individual Reflection Writing 03
Project 01 Tue 09/17 Hackathon
Thu 09/19 Presentations Project 01
Book 02: Hackers and Painters
Nerds and Hackers Tue 09/24 Why Nerds Are Unpopular, Hackers and Painters, Good Bad Attitude, What You Can't Say Slides 04 Reading 04
Thu 09/26 Imitation Game TRON Matrix Mr. Robot Black Berry
Sun 09/29 Individual Reflection Writing 04
Programming Languages Tue 10/01 Beating the Averages, The Hundred-Year Language, Revenge of the Nerds Slides 05 Ghost in the Shell Reading 05
Thu 10/03 Brainfuck Scheme TypeScript AWS Vercel Proposal 02
Sun 10/06 Individual Reflection Writing 05
Wealth Creation Tue 10/08 The Other Road Ahead, How To Make Wealth, Mind the Gap Slides 06 Reading 06
Thu 10/10 Docker Kubernetes AGI in Finance Breaking the Law Progress 02
Sun 10/13 Individual Reflection Writing 06
Project 02 Tue 10/15 Hackathon
Thu 10/17 Presentations Project 02
Fall Break
Book 03: The Cathedral and the Bazaar
History, Manifesto Tue 10/29 A Brief History of Hackerdom, The Cathedral and the Bazaar Slides 07 Reading 07
Thu 10/31 GNU Blender Project Gutenberg Wikipedia
Sun 11/03 Individual Reflection Writing 07
Customs, Culture Tue 11/05 Homesteading the Noosphere Slides 08 Reading 08
Thu 11/07 Git vs SVN GitHub / GitLab Continuous Integration Patches Bots Roblox Proposal 03
Sun 11/10 Individual Reflection Writing 08
Economics, Sustainability Tue 11/12 The Magic Cauldron Slides 09 Reading 09
Thu 11/14 Twitch / YouTube Streams Patreon Microtransactions
Sun 11/17 Individual Reflection Writing 09
Book 04: Just for Fun
Birth of Linux Tue 11/19 Birth of a Nerd, Birth of an Operating System Slides 10 Reading 10
Thu 11/21 NixOS SteamOS LLVM Progress 03
Sun 11/24 Individual Reflection Writing 10
King of the Ball Tue 11/26 King of the Ball Slides 11 Reading 11
Thu 11/28 Thanksgiving
Revolution OS Tue 12/03 Revolution OS
Thu 12/05 AUR Flatpak
Sun 12/08 Individual Reflection Writing 11
Project 03 Tue 12/10 Hackathon
Thu 12/12 Presentations Project 03

Coursework

Component Points
Writings Weekly reading and writing assignments. 10 × 6
Projects Collaborative group projects. 45, 45, 60
Presentations 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 Writings are due at midnight Sunday 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 Writing 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.

No assignments will be accepted after the last day of class without the permission of the instructor.

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.

Moreover, the use of AI Tools to generate blog posts for the Writing assignments or slides for the Individual Presentations is not allowed. However, you may use AI Tools to build or develop your Project artifacts (ie. software).

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.

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.