Projects and Homeworks
-
Essays
-
Weekly Essays based on Readings
-
Homeworks
-
Homework 1 - Reflection on CS15
-
Homework 2 - Adapt Another University
-
Projects
-
Project 1 - A Thoughtful Program
-
Final Project - Useful Tools
-
Final Paper - Research Paper in Computer Science Education
Weekly Essays
based on Readings
-
What:
-
Each week Robert will be giving us readings and websites to review and
by the following week, we will create a reaction paper and put it up on
the web for him to read and grade. All of the readings and reaction papers
will be about various topics in Computer Science Education.
Reflection on
CS15 (Out: January 26; Draft: February 2; Final: February
9)
-
What:
-
The idea is to understand what went well and what went wrong with CS15
this year. They will use the questionnaires as well as their own opinions.
Groups will write a document on each issue of CS15 in terms of the TAs
as well as the students. Questions that will be answered: What was the
goal? How was it implemented? Likes/Dislikes? Works/Doesn't work? What
would you change? What should stay the same? The idea is that people need
to separate the symptoms from the disease (i.e.: cheating is a symptom;
is the collaboration contract the disease? what is the disease?).
-
Collaboration / Cheating
-
Sections
-
READMES
-
Lectures
-
Orbit
-
New/Experienced Students
-
Homeworks
-
Deliverable:
-
You cannot work on fixing things without understanding the problems. Here
we will document all of the pluses and minuses that occurred this year.
Adapt Another
University (V1: Out: February 9, In: February 16; V2: Out:
February 23; In: March 2)
-
Reasoning:
-
Although Brown has developed a strong system, there is much to be learned
from looking into how other schools do things and why.
-
What:
-
Each group will pick two schools who have strong computer science systems
and research how they go about their program and why. In addition to looking
on the web, the group will contact the professors and get direct information.
The group will then develop a document declaring the positives and negatives
of how a school's computer science program works. In addition, the person
will think about how CS15 and the TAs would benefit from such changes.
In no way do we want to adopt everything from a different school but do
they have a great project?
-
Uncertainties
-
Maybe this should be done three different times throughout the semester
with a different prospective. Thus, only one school at a time.
A Thoughtful
Program (Out: February 9; In: February 23)
-
Reasoning:
-
Every year, new students complain that they don't understand how to go
about programming. The only examples they have are the ever increasing
lecture slides and SnowPerson (plus the support code which is very frustrating
for new students). In an attempt to give students more working code to
use as a reference, the GISP is going to do "A Thinking Program."
-
What:
-
The GISP will split up into groups and write the following programs, each
equivalent in difficulty to an already existing program:
-
Snowperson = Cloud (1 person)
-
??? = Street (2 people)
-
Space = Swarm (2 people)
-
Minesweeper = Tetris (2 people)
Not only will the class members write the actual program, they will comment
each useful step as they go (i.e.: why they are writing things, not just
what it does). New concepts of the program will be explicitly commented.
Full class headers will be there in the manner that the CS15 TA's would
like to see. In addition, alongside each program will be a piece of "literature."
In formal English, the writer of the program will explain what thoughts
went through her mind as she programmed the example code. In addition,
in the "literature," she will explain how her code flows (i.e.: how to
read the code - breadth first? depth first? applet first, etc.), what design
decisions were necessary, what problems she had, etc. A valid README would
be written with the code and "literature."
-
Deliverable:
-
There could be many uses for such example code. The code can be given to
the students to use while writing programs and trying to understand lectures.
Sections could use the example code to explain concepts of programming.
Andy could use it during lectures. Homeworks could be developed asking
questions about the example code and thought process.
-
Uncertainties:
-
Although there are suggested programs, project groups can propose another
project and implement that instead. The group must propose the different
program and finish it by the deadline.
Useful Tools
(Out: February 23; Design: March 9; In: March 20; Presentation: April 6)
-
Reasoning:
-
Although each project has its own reasoning, all of the projects have a
major goal in mind: Develop a tool that will help both students and TAs.
-
What:
-
The following projects are only suggestions. They can be done in groups
or individually.
-
Individual Projects:
-
3D Graphics Package
-
This group will design and create a 3D Graphics Package using Java3D to
be used for Adventure (and 3D Tetris for the students that want this).
In addition, this group will fully document 3D, both the actual code and
create a guide. They will also create example code for the students to
look at (simple things like we used for Latte).
-
Reasoning: Although swill code has worked in the past for Adventure, it
is frustrating for both students and TAs. In addition, it is very difficult
to have the owner of 3D not involved in CS15 and disinterested in helping
others learn the package. The group working on 3D must be willing to fully
explain the package to whoever is involved in CS15 if they are not involved
in the course themselves. In addition, the documentation should be so detailed
that if a bomb drops on the 3D group, another individual could pick up
the package without difficulty.
-
Documenting GP Graphics Package
-
This group will work intimately with Robert in order to understand how
GP works. After the group reaches a fairly adequate understanding, they
will go through and comment the package, both classes and packages. In
addition, they will create a GP Guide similar to the guide mentioned for
3D. They will also create example code (some of which is started in the
test/ directory).
-
Reasoning: When Robert and Brian left, they took with them a great deal
of information about GP (the graphics package always used by CS15). No
one feels that they understand GP and it is unreasonable to not have knowledge
amongst the TA staff. The level of detail and willingness of group members
should also mimic the proposal for 3D.
-
Rethinking Homeworks
-
This group will review the benefits and negatives of our current homeworks
and fully document this. They will investigate what other schools do regarding
homeworks and attempt to implement them into the Brown curriculum. Possibilities
include: small coding exercises, using project 1, ungraded web-based validifiers
for beginners (how well do I understand ___?). This group will finish the
entire set of homeworks including the grader sheets, correct answers and
assignment guides for TAs.
-
Reasoning: Homeworks should cease to be viewed as necessary evils but rather
as learning tools. If students are able to receive quick feedback regarding
their performance (i.e.: the web based diagnostic idea), beginning students
would be able to measure how well they are understanding basic ideas and
programming concepts.
-
Rethinking Sections
-
Again, this group will research what other schools do before starting the
project. This group will develop extended examples and group exercises
for sections. In addition, they will prepare a complete set of section
lecture slides.
-
Reasoning: Although sections went better this year, they were still rather
hokey and disjointed. In addition, TAs do not have time to prepare adequate
lecture foils for section during the semester. Students would benefit from
a well structured section.
-
TA Camp
-
This group will research how other schools teach TAs (those schools who
have TAs). They will also learn as much as possible about learning styles
and educational issues that students may have in the course (including
minority issues). The group will prepare a full-fledged TA Camp.
-
Reasoning: TA Camp is a hodge-podge of whatever the HeadTAs can come up
with to teach based on what they liked or did not like in the last year.
TAs are not just interactive books. TAs should be taught how to teach as
well as know the material that they are teaching. In addition, they need
to completely understand how to communicate and work with others.
-
Standardizing Grading
-
This group will research how other schools do grading (both for homeworks
and projects), gathers student code for each program and document what
is good and bad, develop extremely detailed grader sheets and advisor programs
for TAs. In addition, this group would develop a discussion section for
TAs for TA Camp.
-
Reasoning: New TAs often do not know how to grade programs and the result
is that students do not get the type of feedback that they should get with
a graded assignment.
-
DataStructures
-
This group will research not only how other schools teach and have
their students implement data structures as well as review how
teaching data structures affects other classes in the department. New
ideas that can be garnered can be weighed against the current style of
teaching data structures with hopes of finding a stronger approach to
the subject. Hopefully plans for a new assignment can be garnered from
this excercise. If such an assignment can be done, this group will
redo PizzaDex and develop a demo, grader sheets and handout.
-
Reasoning: Every year we get lambasted about PizzaDex. Last summer, Jon
attempted to develop an alternative to it and failed. PizzaDex is frustrating
for both students and TAs. The students have difficulty debugging and working
with PizzaDex.
-
Book Chapters
-
This group will redo the book chapters as they currently exist. They will
come up with better examples as well as create figures for the book.
-
Reasoning: Even in chapter forms, the book is tremendously helpful for
the students. To make it a more solid piece of work, it would be good to
revamp it.
Deliverable:
All of these programs will help CS15.
Research Paper
in Computer Science Education (Out: March 30; Idea Presentation:
April 13; Outline: April 20; Draft: April 27; Presentation: May 11)
-
Reasoning:
-
There is a huge debate over how to teach computer science and it is an
extremely interesting topic.
-
What:
-
Either individually or in a group, members will write a research paper
on some topic in Computer Science Education. Ideas can be developed by
reviewing paper in SIGCSE as well as researching what other organizations
are doing (including MIT's "Rethinking CS101"). The result will be a 5-8
page paper (single spaced) paper (with the hope that one could be submitted
to SIGCSE).
- Uncertainties:
- One of the STC missives is to research education. The paper
presentations could be presented over televideo to the other four sites.
[BACK]