Required Texts
What's Different About This Course
This is a video conference course offered through the
video conferencing facilities at Trinity, Wesleyan, and Connecticut
College. It is supported in part by the schools' joint Mellon
Foundation grant.
This course is supported in part by a National
Science Foundation CPATH grant to the The
Humanitarian FOSS Project, a project aimed at exploring whether
building humanitarian free and open source software (FOSS) can help
revitalize interest in computer science.
This is a project course. We will be engaged together in a
real humanitarian open-source development project. During the course
we will be participating in the Sahana
project, an international project devoted to developing disaster
recovery IT software. Everyone in the course will contribute at their
appropriate skill level to the design, development, testing, and
documentation of Sahana's volunteer management (VM) module, the module
that was initially developed by the Trinity Sahana team.
We will learn computer programming. During the first two months of the
semester we will learn:
- to program in the PhP programming language;
- to build and use simple databases in the MySQL data base management system;
- to use a variety of open source software development tools,
such as the SVN code management system and the PhPDoc, cod documentation
system;
In addition to the practical programming skills we will learn various software design
and development principles.
Learning to build open source software will require substantial
initiative and effort on your part. After we achieve an appropriate
skill level, we will be working on real open source software and will
learn by doing. The learning process may be a little chaotic at times
and will be a little bit like on-the-job training.
We will work in teams. Throughout the semester you will be a member
of one or more development teams. That means you must be willing to
work cooperatively with others in the class. It also means that others
will be depending on you to hold up your side of the effort.
Expectations will differ somewhat depending upon what
you bring to the course. Because there is such a wide range of
backgrounds coming into the course---we have freshmen and sophomores,
some have never programmed before, others have programmed
in other languages but have little or no PhP/SQL experieence and still
others have been already developed good programming
skills---performance expectations will vary somewhat. Students will be
expected to contribute at their appropriate skill levels. Because much
of the first eight weeks are focused on learning PhP/MySQL, those who
already know how to program will be asked to help others learn how to
program.
Course Policies
Attendance
Attendance is required. We have only 26 class
meetings during the semester. If you miss a class for whatever
reason---illness, travel, religious holiday, over-sleeping---you must
make up the absence by writing a 1-2 page paper on what you missed and
hand it in by the next class. Failure to turn in an acceptable
paper or an otherwise spotty attendance record, will lead to a
reduction in your final grade for the course.
Reading Assignments
The course
schedule lists the reading and homework assignments for each class
meeting. You are expected to finish the reading before coming
to class. We will use part of the lectures to go over questions that
come up in the assigned reading and to discuss articles on the open
source movement.
Homework and Quizzes
Homework assignments will be posted on the daily schedule. These should be done
before class on the posted due date. Not all homework
assignments will be graded. Some will be discussed in class. Homework
solutions will be posted on the web site.
Periodic quizzes on the reading may be given during
class meetings. Make-up quizzes will not be given.
Programming Assignments
There will be several short programming assignments during the term in which
you will be asked to design, code, test and debug an entire program on
your own (or with a partner) and you will be evaluated on the
program's design, correctness and readability.
Term Paper
Each student will write a 10-12 page term paper on a topic related to
the open source movement.
Late Work
All assignments must be submitted by the due dates. Late work will
receive a penalty. Unless there is a legitimate reason for handing in
an assignment late, graded work will not be accepted more that one
week late.
Grade Determination
Final grades are determined by taking weighted averages of your grades
on exams, quizzes, programs, homework, and inclass
participation. There will be a mid-term and final exam. To calculate
your letter grade at any time during the semester, just calculate your
average on exams, programs, labs, homework, and quizzes, multiply each
by its weight and add them together. A final average of 90% or better
is A-, 80% or better is B-, and so on.
| Category |
Weight |
| Examinations (2) |
40% |
| Term Paper |
20% |
| Quizzes/Homework/Inclass |
20% |
| Programming Assignments |
20% |
| TOTAL |
100% |