Portfolios for All Dowling College CS Courses

Starting in Fall 2012, the following policy has been proposed for all Dowling College Computer Science Courses.  Review by the Department, Division and FAS has not yet been completed, so at the moment this policy is being introduced course by course by the instructors involved.

Each student will maintain a portfolio on Google Sites.  Each CS course a student takes will include a requirement to make a new contribution to his/her portfolio in the form of a documented programming project.  In addition, the student will record other useful information in his/her portfolio, including records of certificates earned, internships, publications, meeting presentations and other material that demonstrates his/her skills and accomplishments.  The portfolio will be a permanent, growing career resource.  Each project posted must represent a significant new contribution to the portfolio and must have a major component of the student’s own original creative effort, with components derived from other sources clearly identified and credited. All software and documentation posted must be open source.

Recommended portfolio projects: for almost all students, independent of the career track they will pursue, the best initial projects are interactive games, preferably with graphics. Writing such games develops and hones programming skills and results in credible additions to the portfolio. The best projects to complete in the more advanced courses are ones that help in understanding the content of the course and also help to build skills relevant to the student’s chosen track.

For students planning to go on to graduate school in CS, projects should be chosen to demonstrate both breadth and depth of knowledge about computer science and about important application domains such as mathematics, statistics, physics, chemistry, biology, etc. Examples include programs for structural homology, modeling of robots, applied mathematics, etc. For applicants to graduate school, research projects that result in scientific meeting presentations and/or papers published in scientific journals are particularly desirable. Examples from past research projects include work on validation of scientific data, data representation for arrays of pixel data and rendering of molecular surfaces.

For students pursuing a software engineering track, large cooperative projects such as the design of a course advisement system, large simulations, sophisticated video games, major software libraries, social networking web sites, etc. are  most appropriate for students planning to work in information systems in business or government. Projects that demonstrate a grasp of modern business programming and data management are the best, with components ranging from small scripts to large systems. Example projects include amortization of bond premiums, travel expense management systems, time and effort reporting systems, web apps for contact management, accounts receivable systems, student advisement systems, automated training systems and trouble ticket tracking systems.

For students planning to work in information technology, projects that demonstrate an understanding of user interface issues, help desk issues, network and web app issues and hardware management issues are best. Examples include a trouble ticket cell phone app, a customer support web site with database-backed query interface, a help desk support web site with trouble ticket interface,  a computer/network failure support cell phone app, a calendaring and scheduling app, among others.

Students who are not certain of their career direction should try a variety of projects from different tracks.