Your portfolio is a cumulative record of your programming work for the class. Every lab and programming project that you work on related to class should go into your portfolio. You will be asked to turn in your portfolio for examination/grading on a regular basis.
Your portfolio will be graded on both the amount of work you have accomplished and the quality of that work. Completing the "expected" work earns a portfolio a solid "B" (85%). To earn an "A", you must go above and beyond the expected work by including optional assignments and enhancements. Thus, to some extent you are free to determine your own direction and effort.
"Expected work" means creating projects with the assigned functionality and a "reasonable" degree of quality regarding coding style and user interface. Polishing the user interface and providing detailed documentation would be examples of simple enhancements. That means you can earn an "A" by handing in exceptionally polished versions of the required assignments or by handing in enhanced projects or other related programs.
Your portfolio should be nicely organized into a set of directories (folders). We will discuss possible organizations in class. It is important that your portfolio structure is complete, self-contained, and "live." If I can't run a program in your portfolio as-is (with required data or example files and all necessary modules), then it will not be counted. The top-level directory should contain a single file called "readme.html" or "readme.txt". This index file will serve as the entry-point to your work. The exact form of the readme is up to you, but it should follow the order and titling of assignments as posted on our class page and allow me to easily and quickly determine what you have accomplished and how to find and run it.
At a minimum, you should have an entry listing each program/project you have worked on, who (if anyone) you worked with on that project, and the status (does it work?, is it thoroughly tested?) of that project. You should also specifically address what "bonus" features (if any) you've added in your portfolio to get to "A" level work.
Your portfolio should be in a folder that identifies which number it is (like zelle_portfolio1). Then you can either zip or tar this folder to make a file for hand-in. For example, I might do this (in Linux):
tar -cvzf zelle1.tgz zelle_portfolio1
Or something like this:
zip -r zelle1.zip zelle_portfolio1