|
Student Projects
Required Links: Checklist | Coding Guidelines | Project report template | Manual page template
CS and EE Semester Projects
A range of projects is available for undergraduate, masters
and PhD students in EE and CS.
A number of graduate and undergrad students have done interesting software research projects in our lab. Some of the projects were: accessing email by phone, accessing user location for 911 telephony calls on Internet, message board for offline collaboration, measuring QoS for audio conferencing, recording audio conversation in a conference, file sharing among conference participants, conference load balancing, integrating audio
conferencing in a virtual gaming environment, integrating video
support in media server, single line IP telephony gateway, UDP-based
link speed delay and network conditions simulator, VoIP client
simulator for audio playout, and so on.
Who can take the projects?Candidates should have a working knowledge of at least one
of the following languages: C/C++, Java, Tcl/Tk. Background in
operating systems (CS4118) and/or Networks (for example, CS4119 or
EE6761) is desirable. CS undergraduates must have taken CS3139 (Data
Structures) and CS3156/4156 (Software Engineering) and must be fluent
in C/C++ or Java. CS undergraduates need to know that 3000-level projects
must be completed first and may be taken for only up to 3 credits.
4000 level follows which also may be taken for no more than 3 credits.
It is rare for an undergrad to register for the 6000 level, but
this should take place only after having completed 3 points of each
3000 and 4000-level projects. Please see the FAQ for common questions.
What projects are available?
See list on menu on right-hand side.
Students will be assigned PhD mentors to help with your
project. They are your primary source of help, but you can always
contact me in case of difficulties. Source code for projects related
to RTP, RTSP, and SIP
can be found via CVS. You will be given access as
needed, after providing your CS account name or a user
name/Unix-encrypted password combination. Most of the programming projects need a computer science account.
You can apply for a CS computer account on line. You will not have to pay if you
are doing this project under the supervision of Prof. Schulzrinne.
How to register for the project?Undergraduate students should first enroll in 3998, then
4901 and then 6901. Graduate students typically enroll in 6901. It is
possible to enroll in the spring or fall for a two-semester project
covering the summer semester. At most 3 points of W3998 can be counted towards the CS degree.
Similarly, at most 3 points of W4901 can be counted.
COMS E6901-008
Course:
- COMS
E6901-008 Projects in Computer Science, Section 008, 1-12 pts.
Credit:
- Flexible. One credit hours requires 3 hours/week of time commitment.
Prerequisite:
- Please apply to instructor by sending a short resume, including
earlier projects completed and a list of courses taken recently, with
grades received. Include a short code sample.
W3998-008
Course:
- Projects in Computer Science
Credit:
- Flexible, 0-3. One credit hours requires 3 hours/week of time
commitment.
Call Number:
-
Summer 1999 | 86146
| Spring 2002 | 95956
|
W4901-008
Course:
- Projects in Computer Science
Credit:
- Flexible, 0-3. One credit hours requires 3 hours/week of time
commitment.
ELEN 6001-016 (Fall) and 6002-016 (Spring)
Course:
- Advanced Projects
Credit:
- Flexible, 0-6. One credit hours requires 3 hours/week of time
commitment.
ELEN 9001-016 (Fall) and 9002-016 (Spring)
Course:
- Research II
Credit:
- Flexible, 0-3. One credit hours requires 3 hours/week of time
commitment.
Call Number:
-
How am I graded?You will have to finish certain requirements as part of the
course to get your grades.
- Follow the checklist
and discuss it with your mentor.
- Projects must conform to the coding guidelines.
- All projects require the writing of HTML documentation and report using the IEEE proceedings format (LaTeX), depending on the project. Note:
Project reports produced by Microsoft Word are not
acceptable, even if exported to HTML.
- All project must have a web manual
page describing the program's use.
- For C/C++ projects, please create executables for at least one of
the standard platforms (Linux, MacOS, FreeBSD, Solaris, or Windows NT/2000.)
- Projects must be packaged as a tar file, with a README file
containing installation instructions that clearly identifies any other
hardware and software needed. As part of the demo, you will be asked
to unpack and install the software.
- If your project enhances an existing library or piece of software,
it must be checked in via CVS, after approval by the supervising mentor.
- A midterm presentation (20% of the grade).
- You must submit (by email to the mentor and faculty advisor) a brief weekly project progress report (10% of the grade).
- Grading: 10% reports, 20% midterm presentation, 25% functionality, 20% coding style, 25% report.
Frequently asked questionsWho supervises projects?- As faculty, I am responsible for the overall
project direction and evaluation. Usually, a PhD or senior MS student
is assigned as a mentor to assist with the details and provide
hands-on advice. A project student is expected to meet regularly with
their mentor and report back, by email, on their progress in biweekly
intervals (every other Friday) to both their mentor and me. I gladly
answer email questions on direction and additional resources.
What is the time commitment?- The workload is designed to be equivalent to a
class. Given a 15-credit load, each credit hour should consume about 3
hours, so that I expect roughly 9 hours of work a week for a 3-credit
project.
Do I have to register for credits?- Not necessarily. You can also do the project in one
semester and get credit in a following semester. The opposite is not
possible... (Many students choose this deferred credit during the
summer, to avoid paying summer tuition.)
Is there pay?- Under exceptional circumstances. Generally, the
project needs to be part of a funded research project and the student
needs to have shown exceptional ability, e.g., in another project
under my supervision or in a class that I teach.
|