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:
Discuss the history and impact of the Hacker Culture and Hacker Ethic on the technology community.
Contribute to open source projects in a productive and effective manner.
Construct software artifacts in a collaborate group environment.
Communicate technical ideas and concepts to a public audience.
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 |
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 |
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 |
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.
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.
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.
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.
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).
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:
Some of the books can be found legally online. Those resources are linked above.