CSCI 390 Spring 2012 Senior Seminar
The senior seminar course will consist of two components: the seminar component (in Logan 105 on Mondays from 4:20-5:25 p.m.) and the project component.
||Student presentation of project proposals (approx. 5 minutes each):
Read pages 3-5 and 14-16 from On the Design of Application Protocols.
- Of the 4 listed design ideas which do you think is the best?
- Does HTTP seem to be a viable solution for a client-server control protocol?
- Which of the listed protocol properties seems most important? Which seem trivial?
- If you were to design a two way protocol such as the one in this paper what would you focus on?
Read The Rise of Data Mining.
- What exactly is data mining?
- What are some of the foundations of data mining and how are they the foundation?
- How is data mining important today?
Read Why History Needs Software Piracy.
- Do you agree with or disagree with the point the article is making, in that software piracy is needed to preserve programs of a bygone era? Argue your point based off of an ethics viewpoint you've learned so far while at Xavier.
- How would you preserve this software in a legal manner if you didn't wish to pirate it?
- Can piracy be beneficial in other ways? In other words, can it ever be beneficial for a business to promote piracy of its product?
- Will there ever be an effective anti-piracy measure?
Read the Wikipedia page on Bioinformatics and
UCSF Leaders Explore Bioinformatics in Research, Patient Care and Education.
- What is the primary goal of bioinformatics?
- Do you agree that bioinformatics could play a critical role in patient care and help to improve medical practices?
- The article describes how the problem with improving patient care is not only identifying data to collect and the use of the data, but "unlocking the data" we already have. How do you think researchers can better utilize the data we already have and improve patient care?
- If Bioinformatics was offered at Xavier, would you be interested in taking the course? If there were other courses offered that combined Computer Science with one of the other sciences (chemistry, physics, etc), would that be of interest to you as well?
Read Striking It Rich In The App Store: For Developers, It's More Casino Than Gold Mine.
- Why do you think/not think that Apple is the most powerful company in the world? What do you think is the key to their success?
- Why do you think that mobile applications have become so successful?
- Why do you think Tetris is the most downloaded cell phone game ever (besides the fact that it has been around for longer than games like Angry Birds/or is its age the only reason)?
- What is it that you like about your favorite apps? UI? Controls? Background music? Graphics?
- What made you download your now favorite app?
- How often do you use your apps? Have they become a part of your life/routine?
- If you were going to make an app, what would you want to make?
- If you developed an app for a year, would you make it a free app or charge money?
||Midterm Reports (approx. 5 minutes each):
Read Applications of Graph Theory in Computer Science an Overview.
- What other problems might have graph-theoretic solutions?
- This article suggests that graph theory and algorithmic solutions to its problems have wide applications. To what extent should a computer science curriculum focus on these and other combinatorial problems? In today's software-driven world, are the solutions to such problems relevant?
- Is this knowledge what separates a Computer Scientist from a Software Engineer?
- To what extent should the lower level courses focus on combinatorial problems? When should we introduce these problems to a class?and how are they the foundation?
- How is data mining important today?
Start by reading the short Wikipedia entry on algorithmic composition. Follow this by reading pages 1-6 of this dissertation on algorithmic music. Assuming you are still interested, check out this popular piece regarding an algorithm to determine a song's popularity. Finally, you can play with an online music generator yourself.
- What are some advantages/disadvantages to algorithmic music?
- Is it worthwhile to study in a music degree course? or possibly a computer science degree course?
- Does Algorithmic music strike you as a valid means of composing music?
- Is it really even what you would consider "music"?
Read both Will Electronic Medical Records Improve Health Care?, and
The Era of Electronic Medical Records.
- What are some advantages of having electronic medical records/electronic health records?
- The article talks about cost as a major problem of digitizing medical records, what are some other problems?
- How much of the success of EMR depends on the physician’s willingness to learn how to use the system? If this is a main problem, how can we resolve it?
- What are some ways that we can ensure different systems of the health care network (hospitals, etc.) can communicate with one another? Should standards be put in place?
Read both Philosophy of artificial intelligence, and
Can computers have true artificial intelligence?
- Do you think we will ever achieve true, sentient artificial intelligence? Why or why not?
- If it were accomplished, when would we know? Would we have to treat the AI like humans? Where would we draw the line?
- Can a machine have a mind, consciousness and mental states? Can a machine be self aware?
- Is thinking a kind of computation? What do you think of the Chinese Room problem?
- Can a machine be original or creative?
|April 18 (WEDNESDAY)
|| Final Presentations I (Logan 101):
- 4:00: Luke
- 4:30: Jaime
- 5:00: Justin
|April 23 (MONDAY)
|| Final Presentations II (Logan 101):
- 4:30: Reggie
- 5:00: Dani
- 5:30: Trevor
|April 25 (WEDNESDAY)
|| Final Presentations III (Logan 101):
- 3:00: Michael
- 3:30: Ethan
|April 29 (SUNDAY)
||Final Dinner: 7:30 at the Hofbrauhaus
Each week the seminar will meet on Mondays from 4:20-5:25 in tba to discuss a current article or paper.
Students will take turns being responsible for leading the seminar discussion. Each student will lead one seminar session.
Each person will choose their own article or paper to present and will distribute their faculty guide-approved article or paper on the Wednesday preceding its discussion. Along with the article or paper, each person will also distribute/post 3-5 questions to help the other seminar participants focus their reading. The article or paper should be related to the student's research project.
ALL students are responsible for reading each week's assigned article/paper, and for coming prepared to discuss it at the seminar. Attendance is mandatory and PARTICIPATION COUNTS! Every two unexcused absences will result in a letter grade drop.
Each student will undertake a significant self-directed project under
the guidance of Gary, Liz, or Mike. (Other project mentors must
be approved by the course instructor.)
Projects must contain or embody the self-directed learning of an
academically rigorous CS topic that is new to the student. When
deciding what is an appropriate topic one should bear in mind
that CS is the study of algorithms and not the study of
technology. Projects typically involve either:
Faculty-sponsored undergraduate research.
Self-study of a CS topic not offered/available through the Xavier CS
curriculum. Examples of this include continued (or
graduate-level) study of a topic already studied
(e.g. concurrency), or first exposure to a topic not yet seen
(e.g. parallel algorithms, graphics, distributed computing).
An implementation exercise is neither a necessary nor is it a
sufficient condition for defining a satisfactory senior
Examples of worthwhile projects are:
Theory oriented project: Working with a "Computing
Surveys" (or other scholarly journal) article on a topic
of interest; one possibly tied into a seminar presentation
topic. After mastering the article, and the appropriate
background material, one could work out the proofs "left
as an exercise to the reader," offer alternative proofs
to some of those in the paper, or extend the work by applying
the principles in a new way. Projects based on this approach
have the advantage in that they are sufficiently rigorous,
highly focused (i.e. easily tractable within the constraints
of a single semester), and very interesting.
Implementation-oriented project: Extension of the OS, Parallel
Computing, Compilers, or Advanced Algorithms projects.
project typically involves the learning of new material, whose
mastery is reflected in the implementation. Implementation
projects need to be well thought out so that they are
tractable within the constraints of a single
semester. Frequently students select implementation-based
projects that contain sufficient academic rigor, but are
overly ambitious to be completed in one semester.
Hybrid or other: These projects do not involve a major
implementation exercise, nor the proving of lots of
theorems. An example could be the studying of database design
and optimization techniques. Theoretical material would be
studied, the mastery of which would be reflected in an
optimized design for a real (or imaginary) database
Students must submit a short project proposal and projected completion
time line signed by their faculty guide/mentor no later than
Friday, January 20, 2012. If you miss this deadline, then you
fail the course.
In addition to the weekly seminar, students are expected to meet
regularly with their faculty guide. Students are expected to
keep a project log and to complete satisfactory progress on a
regular basis. Furthermore, each student will briefly (2 minutes
or so) discuss at the seminar session their progress on their
Finally, at the end of the semester, each student will make a public
presentation (approx. 20-30 minutes) of their senior project and
submit a writeup of their work. What constitutes an appropriate
writeup is to be negotiated between the student and their
Your grade for the course will be based on your participation in
the seminar discussions, the quality of your preparations for
the seminar discussion you will lead, the quality of your weekly
mentor interactions, the final public presentation, and your
work on your project.
Rubric for Senior Project grading.
The CS faculty as a whole will be assigning the final grades.
The faculty have very high expectations for success from all of the
seniors. Nevertheless a grade of "A" will be reserved only for
those whose work/performance is deemed exceptional in all areas
of the course. A "B" grade will represent good work, while a
"C" grade will be assigned to those whose work is judged to be
satisfactory. Any student whose work/performance is judged to
be less than satisfactory will receive the failing grade,