Using CS5412 in Conjunction with CS5999
CS MEng students, like MEng students in other programs, are required to
obtain MEng project credits under the CS5999 course number, with a faculty
member who will supervise your work. Many students are able to do projects
with individual faculty members in the CS field, but a few prefer to explore
project ideas that are expansions of courses like cloud computing or security.
In cloud computing, Professor Birman is willing to supervise this kind of
expanded project. It normally would run over the same period as CS5412.
When adding CS5999, quite a bit more work is required, so these projects will
sometimes turn out to take a little bit longer to complete. As a result,
many demos for students doing CS5999 occur a bit late, after the majority of the
CS5412 projects have done their presentations and been graded.
In any Cornell class, the professor sets the learning goals and the
assessment strategy, and ultimately assigns the grades. So this raises a
question of how Professor Birman grades CS5999, and how the CS5999 grade relates
to the CS5412 grade.
In fact, the grade you get in CS5412 will normally be exactly the same as the
grade given to you for CS5999, meaning that your
CS5999 grade won't be determined purely by the project. It will
also reflect your performance on the CS5412 prelim. Why do we do this?
Well, these CS5999 projects are cloud computing projects, and for that you have
a certain amount of knowledge you need to learn (gained from classes you attend
and measured on the prelim) as well as a certain skill set you pick up by
actually using the cloud to solve real systems problems. In Professor
Birman's view, a person can't do a cloud-computing CS5999 without learning the
cloud computing material, and demonstrating that knowledge through an exam. And
so the CS5412 prelim will count for or against your CS5412 project grade just as
it would if you weren't doing the extra credits of CS5999. You will
get the same grade on CS5412 and on CS5999.
Some people feel that they really want an MEng project that is graded purely
as a project, with no classroom aspects and no exams. This particular way
of obtaining CS5999 credits, however, is linked to the class.
Here is the basic process:
- Prior to the add/drop deadline, the individual (or team members, if you
are working in a project group) should register for 3 credits of CS5999 with
Professor Birman as the supervising faculty member.
- Right at the start of the semester, you are expected to fill in a form
for the CS MEng project, and file it with the MEng office in Gates.
At this stage you can just say that you will be doing a project done in
connection with CS5412 and Professor Birman will sign it after class.
In fact all the details of your project need to be negotiated and will
require approval, including that the scope and scale are suitable to justify
the extra credits, but we won't be at that stage in the first week or two of
classes.
- For 3 credits, expect to be doing six hours of work per week, over
and above the work done for a "basic" CS5412 project. Don't
underestimate how much work you are taking on: CS5412 was already asking for
six hours of work per week for the basic project, and you are promising to
do twice as much, and to commit twice as many hours per week.
All team members must be getting the exact same amount of credit, so
everyone does CS5999, or nobody does CS5999.
- We make broad suggestions for project topics but the actual topics are
proposed by the individual or team members. Thus as a start, you and
your team members will need to meet a few times and select a topic and
develop a plan for how to solve the problem. Many CS5999 projects need
to get off the ground fairly early, because they are more substantial --
don't delay and try to do them at the last second!
- CS5412 has a series of "hand in and get feedback" milestones. At
first you hand in a rough concept, then flesh it ou, and in this way, you
gradually build up a document that describes your project. It
eventually becomes the basis of your final report. In that document,
students doing CS5999 as well as CS5412 need to know what the extra work
entailed. At first this can be fairly general, but by the end of the
semester, we will want to see a separate page per person. Each member
of the CS5999 team would explain what they did: Sally owned our machine
learning subsystem, trained the CNN and set it up to evaluate photos
captured on the dairy. John did the automated camera, using Azure IoT
Hub functionality, etc. This is how we document for ourselves that
every CS5999 effort was legitimate and real and substantive.
- We recommend that from your very first report onward that you keep in
mind that anyone doing a CS5999 is expected to be doing things you did that
wouldn't have occurred in a basic project, and that justify the extra time
and effort.
- At each stage of reporting, we provide feedback to you about your
project, and if we feel that a CS5999 project isn't substantive enough we
will point out our concern.
- There are some ways to get extra credit (working with an ANSC partner,
presenting in BOOM, participating in the CIDA Hackathon). The first
one you do would give a 5% bonus to your project for a single extra credit.
You'll get 7% for two extra credits and 8% if you do all three. For
example, if your project was given a score of 82 out of 100 points but you
also did the CIDA Hackathon and Boom, you would receive 82*1.06 points for
the project, hence 87 points.
- All team members get the same score for the project (but of course, each
person takes a prelim on their own, so even members of a single team might
not end up with identical grades).
- At the end of the semester, before the final lecture, you (or your team)
will hand in a project report. For CS5999 project reports, we require
a separate section for each student on the team, explaining what that
student did to earn the extra 3 credits for CS5999. Our grade for your
report will be a part of your project grade.
- After we have had time to read your report, you sign up to do a demo
that Professor Birman would grade (the TAs help on grading CS5412 but
Professor Birman is the only person who grades the CS5999 groups).
You'll have at least a week between the final report and the demo, but if
you need even more time, we will be flexible about scheduling the demo,
provided that it doesn't slip past the end of finals period. Longer
delays need to be explained, and then would require an INC with a
provisional grade that would later be updated when you complete the INC
within a few weeks (an INC has a time limit, normally no more than six
weeks).
- During the demo you will present a slide deck or poster, show us your
running program (we also want you to upload the code into CMS), and answer
questions. Every team member must participate, but it is ok if some of
the team members do so remotely via Zoom or Skype or some other technology,
as long as all can join, can explain the whole project, and can answer
questions about their individual work. Expect questions not just on
what you did, but also on cloud computing aspects like reliability,
scalability, elasticity, fault-tolerance, consistency. Also expect
questions about which cloud tools you used, why you picked them, and how you
customized them.
- We compute your grade from the prelim, extra credits, project report,
project code and demo, and effectiveness of your use of cloud concepts.
This becomes your grade in both CS5412 and CS5999.
Please speak to the TAs or to Professor Birman with any questions.