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 | Assignment |
---|---|---|---|
Hackers: Heroes of the Computer Revolution | |||
True Hackers | 01/15 | Cambridge: The Fifties and Sixties Slides Slides | Reading 00 |
01/17 | PC Building Margaret Hamilton Return to the Void Code Golfing | ||
Hardware Hackers | 01/22 | Northern California: The Seventies Slides | Reading 01 |
01/24 | Counterculture Raspberry Pi Code Golf QBasic | Proposal 01 | |
Game Hackers | 01/29 | The Sierras: The Eighties Slides | Reading 02 |
01/31 | Reverse Engineering Emulators Game Shark Video Game Controllers CS 4 All | Progress 01 | |
Project 01 | 02/05 | Hackathon | |
02/07 | Presentations | Project 01 | |
Hackers & Painters | |||
Nerds as Hackers | 02/12 | Why Nerds Are Unpopular, Hackers and Painters, What You Can't Say, Good Bad Attitude Slides | Reading 03 |
02/14 | Heroku AWS Security Tor & Dark Web Ethereum | ||
Programming Languages | 02/19 | Beating the Averages, The Hundred-Year Language, Revenge of the Nerds Slides | Reading 04 |
02/21 | Programming Languages LLVM Crystal Microservice Weaver | Proposal 02 | |
Wealth Creation | 02/26 | The Other Road Ahead, How To Make Wealth, Mind the Gap Slides | Reading 05 |
02/28 | REST APIs, DevOps Cloud APIs Spotify CI/CD Docker | Progress 02 | |
Project 02 | 03/05 | Hackathon | |
03/07 | Presentations | Project 02 | |
Spring Break | |||
The Cathedral and the Bazaar | |||
History, Manifesto | 03/19 | A Brief History of Hackerdom, The Cathedral and the Bazaar Slides | Reading 06 |
03/21 | Open Source Projects and Communities Linux Foundation Firefox Blender | ||
Customs, Culture | 03/26 | Homesteading the Noosphere Slides | Reading 07 |
03/28 | Mailing Lists, IRC, Wikis, Patches Famous Forks Git IRC Bots MuseScore | Proposal 03 | |
Economics, Trends | 04/02 | The Magic Cauldron Slides | Reading 08 |
04/04 | Subscriptions, Donations, Sponsorships, Bounties Bug Bounties Advertising Microtransactions Twitch | Progress 03 | |
Project 03 | 04/09 | Presentations | |
04/11 | Presentations | Project 03 | |
Just for Fun | |||
Birth of a Nerd / OS | 04/16 | Birth of a Nerd, Birth of an Operating System Slides | Reading 09 |
04/18 | Linux Distribution | ||
Linux Revolution | 04/23 | King of the Ball Slides | Reading 10 |
04/25 | Packaging, Live Images Init Systems Knoppix RTOS TempleOS | Proposal 04 | |
Revolution OS | 04/30 | Revolution OS | |
05/02 | Reading Day | Progress 04 | |
Project 04 | 05/09 | Presentations | Project 04 |
Component | Points |
---|---|
Readings Weekly reading assignments and corresponding writing prompts. | 10 × 5 |
Projects Periodic group projects. | 4 × 45 |
Presentation Individual presentations. | 40 |
Participation Regular class attendation and contribution to course community. | 40 |
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 |
All Readings are due at noon Saturday at the end of the week they are assigned in the schedule above.
All Projects are due at midnight on the night assigned in the schedule above (ie. Thursday → Friday).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.
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 a penalty of 25% per day late (except where noted). You may submit some parts of an assignment on time and some parts late. Each submission must clearly state which parts it contains; no part can be submitted more than once.
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.
We will be reading the following books this semester:
All books besides Hackers: Heroes of the Computer Revolution can be found legally online. Those resources are linked above.