What is University of Reddit? The University of Reddit is the product of free intellectualism and is a haven for the sharing of knowledge. Teachers and students are free to explore any subject that interests them. Unlike a conventional university, University of Reddit strives to make its course offerings free, varied, and easily accessible. Teachers are given complete freedom in planning their curricula and how they want to carry out their class. Students don't have to worry about attendance, grades, or tuition - this isn't a regular university.
I would definitely be interested in this course. I love the idea, the code base of course wouldn't be such a worry. However, It depends on the language we can't be proficient at everything. You can count me in if this event happens. If sign up is required that information would be great to know.
Since beginning development of my own MUD I've maintained the intention to release it for instructional purposes. I'm planning to do this in two ways; #1 being thorough documentation of my code, #2 being a (series of) technical write-up(s) on the implementation in conjunction with a thorough and technical design document (the same design document I fleshed out before beginning programming, the write-ups happening both prior to code and as features were implemented.)
Some (most) of the write-ups contain significant empirical data and example alternative code. I made specific design implementations based on research and testing (often by prototyping a module and benchmarking) and I think it would be beneficial to show my work. In-depth explanations of code typically aren't offered alongside production releases, so I'm considering a two package release, one package containing the production code with a user's manual and one 'educational' package containing the code, the original design document, all my write-ups, and a user's manual.
Would you consider using such a thing for a 'MUD development class' like you are talking about?
07 Feb, 2011, Parhelion wrote in the 10th comment:
I'd be interested in poking around with this.
I do have a suggestion, though. What is the 'audience' for this? N00bz? ;) Intermediate developers? Advanced programmers? The audience designs the class.
I'd stay away from anything that is language specific or codebase specific. Like for instance, if your intent is to teach people how to develop a game using only examples from the perspective of a Diku or ROM developer, I'd probably lose interest in a hurry. Maybe try to "ease" people into by actually doing classes on conceptual issues? For example, algorithmic issues, understanding the absolute very basics of networks, sockets, and emerging tech, and even understanding issues like server administration or tech comparison (i.e, "When to use flat files, when to use relational DBs like MySQL, and when to seek alternatives?").
I have no plans to get into heavy programming or CS, I'm not suited for that nor confident enough. I would like to have hands-on experience, so I'm sticking to with what I know (Diku-based or SocketMUD, but not doing barebones for semester 1). I don't consider it a CS course. It's aimed more at "newbs".
I am doing my best to not be specific to Diku in my lectures. Lecture 1 is a brief background of MUDs.
I'd be interested in seeing a course that teaches new mud programmers all the basics of how a mud runs, what sockets are and how they are used, information like that. There are tons of coders out there like me that taught themselves but missed out on important stuff like sockets and networking and the like. I think I would be a much better coder if I had a better understanding of how all of those behind the scenes parts of the code worked.
I'm not saying devote an entire semester to this, but it should be one of the lessons before you get into any coding specifics. People should understand how the program works before they even think of changing how it works. I know that I often spend hours with the trial and error method when I could get the same thing done in minutes if I had that deeper understanding of the code.