Docs
- Syllabus
Stephen Pinker, Why Academics Stink at Writing (reading for Tues 13 September)
- Copyright basics
- Lawrence Lessig, In defense of piracy
- Lawrence Lessig, Introduction to Free Software, Free Society: The Selected Essays of Richard M. Stallman
- Free Software Foundation, What is free software?
- Open Source Initiative, The Open Source Definition
- Open Souce Initiative FAQ
Assignments
Project proposal
First draft due Tuesday, August 30.
Your project proposal should be about 1 page. Your proposal should answer the questions:
- What is the background to your project, that is, what is the problem or question that motivates your project?
- What do you propose to do? Be specific.
- What is the timeline for your project? What are the different components and when will you aim to have them done?
- What are your goals? In other words, how will you know if your project is successful?
In addition, if you wish to do a year-long thesis project you should indicate this in your proposal.
Final proposal due Tuesday, September 6. (Last day for committing to a year-long thesis project.)
After receiving feedback on your initial proposal, you should turn in a revised version that takes the feedback into account.
Along with your revised proposal, you should turn in a “work plan”, up to 1 page explaining how you will make time to work on your capstone or thesis project. Be as specific as possible. Be creative in coming up with very specific ways to help yourself succeed. Some examples:
- Horrible: “I will work on my project 5 hours per week.” This plan gets an F.
- Bad: “I will work on my project from 2-4pm every Tuesday before lacrosse practice, and from 9-noon every Sunday.” Better, but still probably a D.
- Better: “Every Tuesday from 2-4pm before lacrosse practice, I will go to Blue Sail which is a good distraction-free place for me to work. I will turn off my phone. For the first 4 weeks of the semester I will spend those two hours doing background reading; I will print papers I want to read ahead of time and write notes in the margins as I read. On Sundays, …” and so on. Probably a B.
- I will leave you to imagine what an A plan looks like.
Note that after September 6 you may not “upgrade” a semester project into a year-long thesis; however, the opposite is always an option: if you start out doing a year-long thesis but decide by the end of the semester that you do not wish to continue, you may “downgrade” it to a semester capstone project with no penalty.
Resume/CV
Due: Thursday, September 1
You should make either a resume or a curriculum vitae (CV). A resume is appropriate if you are interested in obtaining a non-academic job. A CV may be appropriate if you intend to apply to graduate schools. You should try to tailor your resume or CV to a particular type of opportunity. If possible, you should find a specific job advertisement or graduate program you are interested in, and tailor your resume or CV to it.
You should bring four printed copes of your resume or CV to class on September 1. You should also bring a printed copy of the job advertisement or graduate program you are targeting. If you are not targeting a specific opportunity, then you should bring a 1-paragraph description of the sort of opportunity you intend to target.
Here are a few resources explaining what should go in a resume or a CV:
There are tons of other explanations and examples online; just search for more examples.
Cover letter
Due: Thursday, September 15
Coming soon.
Classic literature presentation
Sometime prior to your chosen date, you should meet with the other student(s) who are also signed up for that date:
- Each of you should give the other a practice version of your talk.
- Give each other constructive feedback to improve the talk, and write down some notes (ideally typed) about what you discussed. It does not have to be long or even use complete sentences. I am just looking for evidence that you met and that you were thinking carefully about the feedback you gave each other. You should turn in this feedback along with your talk.
On your chosen date,
- You will give your (now revised) talk to the class. Your talk should take no more than seven minutes. Yes, I will use a timer, and yes, I will cut you off after seven minutes!
- You should turn in a 2-page summary/review of your chosen paper/article/book. What are the main points? What did you learn from it? Why is it important?
Here is a list of suggested classic papers or books in computer science you could choose to present:
- No Silver Bullet: Fred Brooks
- The Mythical Man-Month: Fred Brooks (the department has a copy)
- Go To Statement Considered Harmful: E. Dijkstra
- Computing Machinery and Intelligence: A.M. Turing
- On the Criteria to be Used in Decomposing Systems into Modules: D.L. Parnas
- Report on the Algorithmic Language ALGOL 60
- Design Principles Behind Smalltalk: Daniel Ingalls
- Revenge of the Nerds: Paul Graham
- Free Culture: Lawrence Lessig (you can also borrow a phyiscal copy from me)
- Cramming More Components onto Integrated Circuits: Gordon Moore
- The Cathedral and the Bazaar: Eric S. Raymond (borrow a physical copy from me)
- Can Programming be Liberated from the Von Neumann Style?: John Backus
- Notes on the Analytical Engine: Ada Augusta, Countess of Lovelace (you probably only want to look at the “Notes by the Translator”)
- The Early History of Smalltalk: Alan Kay
- Mindstorms: Children, Computers, and Powerful Ideas: Seymour Papert
See also this list by Michael Eisenberg. Not everything on that list is appropriate/feasible: ask me if something on that list catches your fancy.
If there is a particular area of computer science you are interested in, you are also encouraged to try to find a seminal paper in that field to present, or to ask one of the CS faculty for help in identifying an appropriate paper in that area.
Resources
Resumes and CVs
A few resources explaining what should go in a resume or a CV:
There are tons of other explanations and examples online; just search for more examples.
LaTeX
You must write your capstone project or thesis document using LaTeX on the ShareLaTeX site. You are encouraged, but not required, to complete other writing assignments using LaTeX as well.
- Here are some example LaTeX documents:
- small2e.tex
- sample2e.tex
- A short example of how to use LaTeX for scientific reports by Stephen J. Eglen
The LaTeX wikibook is a good comprehensive reference.
The Not-so-short introduction to LaTeX is another good comprehensive reference.
Here is a list of LaTeX math symbols.
Detexify lets you draw a symbol and then tells you likely LaTeX commands to produce it.
The LaTeX Table Generator lets you easily generate LaTeX tables via a visual editor.
- To install LaTeX on your own computer, use one of these:
Capstone paper/thesis
- Here is a template you can use as a basis for your capstone paper. Note, if you are doing a semester-long project, you should change the word “thesis” to “capstone project”.