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.
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 |
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 |
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 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.
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.
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.
In this class, as elsewhere on campus, students must comply with all University health and safety protocols, including:
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:
Some of the books can be found legally online. Those resources are linked above.