Course Project
The technology created by computer science, both the algorithms and the hardware designs, is a huge leap forward in the power available to humankind. But it is important to strike
a balance between using and controlling it. Below I will have some example project topics as well as some online links to get you started thinking about those topics.
For this project, there are 2 options.
Firstly,you could
research a CS-related issue that interests you and write about your findings and thoughts.
As this is a CS course, the deliverable will not be a written paper - your display format will be a webpage. This gives you a chance to use some of those HTML and CSS skills you've learned.
Also, your website for this project will not simply be a listing of facts and references about your chosen issue. The focus should be on your own thoughts and
ideas. You should not just pick a side and start arguing in favor of it (and ignore any valid points for alternatives). Consider all (or at least the most relevant) possible approaches and solutions before picking the one you feel is the best solution. Your website should make it clear what issue you are dealing with, what your idea or position on that issue is, and how you're supporting that position (with links to references as possible). This is the web, so if you really care about this issue you should try to make your website interesting, easy to use, and informative to get people to take the time to look at your site.
Also, you don't have to be completely in favor of a single side of the issue. If you feel a compromise between competing sides is best, state that and defend your position. If you feel that the issue is completely wide open, state that and defend it. ...AND if you don't propose and strongly support some solution to the issue then you must propose and defend some research or experiments that would provide information sufficient for you to be able to decide on a solution for the issue. Some of these issues - probably most - do not have a clean-cut "correct" side. Understand all important sides of the issue, present that in your website, and then propose and defend a solution or a method that would directly lead to a solution.
The second option is a more programming-type project. If you would like to gather more experience in programming and have an idea that you'd like to implement (such as a game, for example), that would also be a good project. But you
should be careful to pick a project that you feel confident of finishing in a few weeks.
For this project you are encouraged to work in groups of 2. In this abbreviated summer course, and with less than 3 weeks to prepare your project, having a partner can really help. For this you'll need to (1) research and understand an issue while defending your position, and (2) give your information and report in a well-presented website. Step 1 is more important than step 2, but with two people working on it you should be able to do a good job on both.
For larger groups (3 people is the maximum) you will need to talk to me to get that approved, and a 3 person group will be graded in the expectation that an extra person was working on it (i.e. more research, better written arguments, or more detailed or advanced presentation would be expected). If you have a partner that wants to work on the same topic as you, that's great. If not, let me know what topic(s) you're interested in and I'll put you in touch with anyone else interested in the same topics that is also looking for a partner.
For this project you will be creating .html files (for the first option) to present your research and information. For the final project your website should be posted in at least one student's public_html directory so your work is publicly viewable. There are 3 major due dates for this project:
- topic selection
- update
- final project
An initial topic for your project is due this Tuesday (June 12). This topic does not have to be your final choice. The idea is to make you at least consider some topics and find (and at least partially read) 2 references on that topic. In addition to website reports, we'll also have a couple of days of class towards the end for informal debates/discussions on the projects. A few points from your project grade will come from your participation in these discussions. Students will be expected to participate for discussions on the topic of their report, but are encouraged to participate for any topic.
- Tuesday, 6-12: Project Topic Selection Due w/ 2 references (10 pts). Provide a project topic, state your partner if you already have one, and provide 2 references to resources on the topic (web url's, printed scientific papers w/ citations, etc.)
- Tuesday, 6-19: Project Update Due (5 pts)- Meeting with each group to ensure that progress has been made and the group is on-track to finish the project by the end of the class.
- Friday, 6-22: In-class discussions on projects (5 pts)
- Monday, 6-25: Final Projects Due (80 pts)- Final website presentation or code should be posted online. Digital copies of any materials used for the website should be emailed to me on or before this date.
If you are working on a programming project, the general guidelines are very similar to those above.
Below is a listing of possible topics for your project. These are just
some issues related to computer science - I encourage you to come up with
ideas of your own (Some of you already have good ideas on what to do for the project.). The key aspect for you is to choose a topic that interests
you and that you can be passionate about. The topic must be related to
computer science. I'll be more inclined
to approve a project topic if you have already found some references or done
some background research so that you at least partially understand the topic
already. I have provided some links below to help you get started. But you should look for more recent articles.
Also, note that many of the links given below are merely opinion articles. Your report should be more than that. You don't have to be an
expert, but you must have some research and evidence to support claims that you are making.
- Intellectual Property: What rights or patents should be allowed on ideas or creative designs? Some things as small as the idea to pay for things online with
a single click have been patented. Some designs have first been created by one group, but were later patented by another group copying that idea - forcing the first
group to abandon the idea or pay royalties. In perhaps the most notable case of debate over intellectual property, the music recording industry has waged war against
online trading of music files.
Some companies have even sold CD's with special technology to attempt to prevent users from sharing their music - in some cases damaging
users' computers in the process!
What should be allowed and what shouldn't? Should there even be such a thing as "intellectual property"? When considering this issue be sure to look at the viewpoints of
both sides (or all sides if there are more than 2) and consider the long-term affects of any decision you make.
- Economics paper on Intellectual Property
- Article arguing that current law forces software patenting
- Information about how copyright law affects Intellectual Property
- Digital Divide: Should the government subsidize computer and/or Internet access for under-served areas and communities ?
- Bridging the Digital Divide
- Monopolies: In the realm of digitally and technologically based companies markets evolve very quickly. This can lead to great progress, but it can also lead
to a single company grabbing a huge market share when a new industry suddenly arises and quickly grows to a large size, in terms of both the amount of money involved and how it
affects people's everyday lives. The question is, for these near-monopolies with very large market shares, what should be done?
Microsoft had to face a widely publicied anti-trust case after it was alleged that they used their huge desktop operating system market share to stifle competition in
many different software fields. Did Microsoft abuse its power? Should it have been allowed to? More recently, Google has faced litigation and criticism for things
ranging from having a search market-share monopoly to whether it should share its information with the US government's searches to whether it should bow to censorship
pressure from China's government.
Google and its large market share is relatively new (remember the old search engines by Lycos.com, Excite.com, Dogpile.com, or Ask.com?). Should this market be allowed
to continue since its already fluctuated so much? Even if there isn't a monopoly, what happens if one company knows too much about what information the world wants to
find or even controls what information the world is allowed to find on the web ? Finally, while Apple has very little of the desktop OS market, it holds great power in
the digital music and media industry. A case has been introduced by some European governments charging that Apple is abusing its power with iTunes and the iPod (it has
its own private format for storing music files). These companies are just some obvious starting cases. You may find other current or potential industry monopolies that
are worth considering.
- Article hypothesizing about potential Microsoft abuses of power
- Article discussing Google's effect on
various markets
- Article about a lawsuit made challenging a potential Google search monopoly
- Apple vs. France Anti-trust case
- ISP Policy: Should a university monitor university networks and connected computers for improper activity such as copyright infringement or cheating among students ?
- Net Neutrality: Right now, when you pass information across the internet it gets sent the same as anyone else's internet. That could change. The idea of net
neutrality is to make it a requirement for the telecommunication companies, that own the infastructure that makes up the internet, to treat all data equally. An
alternative would be for them to have different tiers of internet traffic passed at different speeds, with certain kinds of information from certain users getting
priority over others.
The argument against net neutrality might be that it limits incentives for developing different "high-speed" networks. The argument for net neutrality is that
neutrality has worked so far and that if certain internet traffic could be preferred over other traffic, the internet start-ups and 1-2 person websites could be
eliminated because they can't afford to pay to have their site be sent to users as quickly as sites made by larger corporations.
- News story about the House of Representatives rejecting a Net Neutrality
bill
- Net neutrality showdown
- Programming languages: Is Java a suitable language for introductory computer science classes? Is programming an important part of a "liberal arts" education?
- Applications of computing: Investigate the impact of CS on an inter-disciplinary field such as bioinformatics
(genomics, proteomics, etc.) or computational linguistics, or the use of computers in entertainment (e.g. virtual reality,
music, movies, and so on).
- NCBI Homepage
- Human Genome Project
- Computational Linguistics FAQ
- Digital Privacy: The issue of policing vs. privacy has been around for centuries.
The big shift now is that current computing technology
gives society the ability to monitor a host of things that could never be
monitored before. Where, if anywhere, should the line be drawn? What levels
of privacy do we lose when someone maintains databases of information about our phone records, our emails, our web surfing, our... ?
                Anything that you do that involves digital or computer technology, from using
your credit card to swiping your ID to get into a dorm, can be monitored. With the increasing abilities of computer algorithms,
that information can be saved and can be searched with improving computer intelligence. Perhaps this is worrisome or perhaps it
is not a concern and is merely necessary for catching today's criminals. Either way, the issue affects you. (The movie Enemy of
the State gives a good "Hollywood" action-film introduction to this topic.)
- Article describing an encryption tool for
foiling email surveillance
- Article arguing the value of having
privacy
- Article about a potential plan
to build a database of the information posted on MySpace
- US
Govt. asks internet firms to save data (so the Justice Dept. can request it)
- How to foil search
engine snoops
- Article
commenting on how Google bowed to censorship pressure from China
- Article about Google being the only
search company (out of ~4 companies) to protest US Govt. requests for search information
- Article about the Google vs. US Govt.
case
- Article
about a subpoena for complete contents of a Gmail (Google email) account (including deleted emails)
- Using Facebook.com for Criminal
Investigations
- Page decribing a
problem of citizen's private data (SSN's) collected by US government agencies having been "lost" or stolen
- AT&T rewrites their
privacy agreement so that they have ownership of confidential customer information
- E-voting: Should direct recording electronic (dre) voting terminals be used in place of paper ballots? (In some places they already are, and that has brought up some accusations/theories of voting fraud in recent past elections.)
- Workplace Security vs. Privacy
- Office Distractions
- Fired for Blogging