Research Studio: Algorithms
In this research-based studio class students will choose an advanced computational topic to explore in depth. Work will be self-directed and monitored by weekly writing and bi-weekly class presentations with extensive feedback sessions. Students will be expected to exhibit a high degree of motivation in choosing and pursuing their research topic.
Students will choose a narrowly defined topic within their chosen subject area to research in depth, implementing examples in code, explaining the fundamentals in class and summarizing relevant research papers.
Sample research topics include:
"The use of Hopfield neural networks for image recognition."
"Evolving self organized maps."
"Simulating realistic plantlike growth."
"The use of grammar in machine generated text".
Students will begin by preparing a broad survey and literature review of their chosen subject. They will then craft plans for how to accomplish specific goals in the semester timeframe, culminating in final project presentations which will include implementations in code for demonstration.
Each student will complete a final paper of publication quality which will be handed in along with source code as their final project. We will discuss these standards in depth in class and there will be ample opportunity for review and discussion with your peers.
This class is platform independent but requires advanced knowledge of one or more programming languages.
Students should come to the first day of class with a research topic in mind. Research topics may or may not be tied to specific student projects like thesis.
Post your homework to the wiki here
Recommended Texts
Resources
- Carol Hutchins, CIMS librarian (12th floor of Courant Institute)
- List of mathematical symbols
- The greek alphabet
- Math Cheat Sheet (add to me!)
- Send me more as you find them and I'll post them here
- Learning Bit by Bit Syllabi with downloadable lecture notes (let me know if you need more) 2010 2011
- NYU research resources
- WEKA - great free tool for experimenting with machine learning algorithms on data.
- Data! The UCI machine Learning Repo has lots of it.
- Favorite textbooks I refer to again and again over the years (good starting places for overviews of a topic):
- George Luger, Artificial Intelligence: Structures and Strategies for Complex Problem Solving
- M. Tim Jones, Artificial Intelligence: A Systems Approach
- Jurafsky and Martin, Speech and Language Processing
- Toby Segaran, Programming Collective Intelligence
Style Guidelines
Your final paper should be written to adhere to the standards defined in one of the journals mentioned above so you can potentially submit this paper for publication at the end of class. Read the description of the standards carefully. You must choose to write for one of these journals in particular (or another journal of your choosing just run it by me first). Your final paper should be between 2500 and 12000 words including endnotes - depending on the intended journal.
Grading
- You must hand in all assignments on time to pass
- Class participation counts, more than 2 missed classes is an automatic fail
Student Lectures
When you give your presentation please adhere to the following format
- Lecture between 15 and 20 min
- We will allow 10 min. for Q and A afterward.
- Start your lecture with a broad overview discussion of what your topic is and where it is used in the real world
- Continue your lecture with a concrete example implementation - the nitty gritty
- Conclude with a demo and make sure the source code is posted online so students can grab it.
Semester overview
- Jan. 26 - Week 1.
- Introductions, students present and discuss their research topic ideas and current knowledge.
- Overview of research methods and resources at the NYU library (meet with CIMS librarian Carol Hutchins <carol.hutchins@nyu.edu>)
- Homework:
- Feb. 2 - Week 2. Literature Reviews and Planning
- Students present surveys of what they have discovered and discuss plans for how to attack their research project.
- In class time for developing timelines with concrete goals and discussion.
- Feb. 9 - April 5 - Week 3-7 Coding time
- Biweekly student presentations of their progress (1/2 of the class each week)
- Feedback and discussion with the class.
- Workshop time in class.
- Each week blog posts documenting progress will be due.
- I also recommend you read a few chapters of the Oxford Guide each week.
- Classification Slides
- Regression Slides
- March 22 - Week 8. Final paper thesis topic and abstract due.
- Make sure you have emailed me to setup an office hours meeting to review your thesis topic!
- Discussion of writing a paper, journal formats and suggestions
- Peer instruction
- March 29 - Week 9
- Peer instruction
- group work
- April 5 - Week 10. Rough drafts of research papers due.
- I will correct and comment on these and hand them back next week.
- Submit your draft along with another example article from the journal you used as a guideline.
- Peer instruction
- group work
- April 12 - Week 11.
- Wiki entries due.
- These should contain your name, a description of your algorithm, an implementation in code (pseudo code ok) links and references (like wikipedia)
- Rough draft workshop
- April 19 - Week 12.
- Students presenting next week must email the class their final papers today so we can all review them for next weeks class.
- A week students: prepare a 10 min. (min.) presentation of your research including a demo
- B week students read all your peers papers and bring at least 1 question or comment for each of them.
- Peer instruction
- April 26 - Week 13. Group A students present final projects.
- Students presenting next week must email the class their final papers today so we can all review them for next weeks class.
- B week students: prepare a 10 min. (min.) presentation of your research including a demo
- A week students read all your peers papers and bring at least 1 question or comment for each of them.
- May 3 - Week 14. Group B students present final projects