Syllabus
Home   Syllabus      Instructor's Site  
Instructor

Shannon Bradshaw, Ph.D.
302 Hall of Sciences
973.408.3198
sbradsha at drew dot edu
http://users.drew.edu/sbradsha

Office Hours
 
MWF: 4:00pm - 5:00pm

Text

We will look at portions of many texts in this class. A subscription to O'Reilly Safari is required. You will need the 10 slot bookshelf subscription ($19.99/month).

Course Description

This course is a gateway to upper level courses in the computer science curriculum. Successful completion of this course will prepare you for large-scale software development projects involving both client and server components. Course objectives include:

  • Competence in unix software development environments, including an understanding of unix system architecture, file-systems, processes, concurrency, and the shell interface.
  • Familiarity with a scripting language (e.g., Perl).
  • Proficiency in the C++ programming environment.
  • Programming language independence through exposure to several languages.
  • Competence in the use of code versioning systems such as SVN.
  • Improved teamwork skills including time management and communication.

Project

This semester we will work toward the objectives outlined above in the context of a project in collaboration with the Drew University Library. The Library is interested in improving the search functionality it provides for relevance ranking in its online catalog system. In this course, we will build a search engine for library catalog records. Through this experience you will become familiar developing software in a unix environment, with the Perl and C++ programming languages, SVN, and with a variety of systems-related issues having to do with the execution of concurrent processes, etc. As an additional benefit you will learn about search engine technology, web crawlers, and gain some insight into the process of developing innovative software solutions.

Grading

Your grade will be based primarily on homework and projects. We will have several homework assignments ranging from a few days to one week in duration. There will also two to three larger projects of approximately three weeks in duration. Homework will be assigned as we move through the semester. Project specifications will be made concrete as our collaboration with the Library unfolds. However, at least two of these projects will involve C++ and Java portions of a mult-threaded focused web crawler for augmenting the sparse amount of information found in each catalog record with supplementary information from public and subscription sources.

Google Account

To facilitate sharing of written work, please register for a Google account if you have not already done so. We will use Google Docs as a means of information exchange and knowledge management.

Special Needs

Please contact me as soon as possible if you have a disability or condition that may require some modification of seating or any class requirement, so that appropriate arrangements can be made. If you have any emergency medical information about which I should know, or if you need special arrangements in the event the classroom must be evacuated, please let me know.

Academic Integrity

It is my sincere hope that no student in this class submits work that is not his/her own. However, it seems prudent to clarify in advance the policy on cheating. If I determine that any work submitted for a grade was not created solely by the student(s) seeking credit for that work, the assignment grade for that student will be zero (0) and the course grade may be an F. All incidents of cheating will be reported to the appropriate deans and the student may be placed on disciplinary probation.