Instructor
Shannon Bradshaw, Ph.D.
302 Hall of Sciences
973.408.3198
sbradsha at drew dot edu
http://users.drew.edu/sbradsha
Office Hours
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.
|