Weeks 4 and 5 Fall 2011

and Miniproject Specifications.

20sep11 with census questions. Revised 26sep11
\begin{document} \maketitle \section{Commentary} Both weeks were one class session short for various reasons. So I will review them here together, and propose a plan for a \textbf{miniproject} you should complete in preparation for drafting a proposal for your major project. The miniproject leaves you some choice, but is designed to optimise my being able to advise you on your major project. The miniproject consist in three items: \begin{itemize} \item Understanding the theory (mathematics) in the pocket notes. \item Exploration, experimentation, and documentation, of same or related packages. \item Learning a number of tools you'll need for this. \end{itemize} Note that to reduce name confusion (Haddock's Eyes) I'm referring to the "BASIC Pocket Graphics Programs" by just "pocket notes", because the file name is pocket.pdf. \section{VPython} All of the class is expected to download VPython (or, if that doesn't work, use the computers in the lab) and explore the examples. All of you should make a list of 4 or 5 interesting VPython examples, and write a short review of two or three. To the extent that you can read Python, you should look at the code of those reported on as well. Programmers should modify and experiment with at least one VPython example. Adanced programmers will please answer questions posted on qa.math by your classmates.
Question 1.
Did you install VPython on your computer successfully? How many examples did youtry out? Which was your favorite? Did you look at its code? Did you modify its code and see your changes? \section{basiCglut version of the Pocket Programs} The pocket notes were originally written around using BASIC on Apples in the eighties. When MA198 switched entirely to C and OpenGL, the notes were edited with reference to C-codes. The idea was to introduce OpenGL at the same time as preparation the 3D OpenGL work leading to writing CAVE applications. They can still serve this function, if you're learning Open GL. But you have a choice of languages.
Question 2
Have you downloaded pocket.pdf to your computer? How far did you get in reading the mathematical content? What was the first mathematical topic you did not understand? Which topics would like to see discussed/explained in class? \subsection{The mvc98 C-compiler Package} If you are learning C/C++ as a "second language", you can benefit from these notes as follows. If you have and know how to use a C-compiler on your computer, \textbf{and} you have OpenGL installed in your IDE, you can skip the next step. But I may not be able to bail you out if your get stuck with your compiler. If you do not, or just want to make sure of success, \textbf{and} you have a PC, then you should \begin{itemize} \item Download winaid.zip and unzip.exe to either to your C-drive (as administrator) or to your home directory if you're using Windows 7. \item Use the unzip.exe to unzip winaid.zip to avoid the double directory "feature" of windows. Nothing in this package is installed into your registry. \item There are four folders in this package. The one that concerns us here is called mvc98 and is an ancient C-compiler that works well with the pocket programs, but probably not with more recent programs. \item To be continued, once the class has mvc98 onboard for a class tutorial. \end{itemize} Note that winaid.zip, unzip.exe are here. The point of using mvc98 is that it has OpenGL already built into into its libraries so you don't have to prepare your own C-compiler for OpenGL.
Question 3.
Can you compile C/OpenGL programs on your computer? Did you download mvc98? Could you run allerton.exe? Could you recompile allerton.exe? \subsection{The mac compiler} Unhappily, the mac no longer comes with a compiler fully installed. The macs in the lab do, and you could work there. But if you want work on our own mac, we'll have to do something special. \section{Subversion Repository} In order for us to proceed in this class, we will have to bit the bullet and take up Subversion. That is the tutorial on M5 and possibly W5. (There is no class on F5). One of the advantages of SVN is that there is no duplication of methods of communication necessary. You write and I respond right the same filespace both of us are working in. No email, no webpages, no qa.math, or paper copies to be forgotten to hand in. (This is \textbf{ does not} supplant your handwritten Journals, however.
Question 4.
Fill in this question now. \section{LaTeX with texWins and texPad} Since the reports for the miniproject have to be in some format, and I won't accept Word documents, you could start learning some LaTeX, since that will be required for the final project anyway. But you may submit reports (in your svn-repository) in plain ascii for now, because that is easily converted to LaTeX. \txtbf{Please}, no .doc, .docx, .rtf etc files. Only .txt or .tex/.pdf.
Question 5.
Have you tried texWins? Were you able to write anything to texWins and download a .pdf of your document to your computer?
Question 6.
Have you downloaded texPad to your computer? Could you use it? Does your browser show mathematical symbols correctly? \section{Four Tracks for Your Miniproject} A group of novice programmers is learning Python. But their miniproject will be a report on the VPython examples. A second group of advanced programmers is learning Aszgard and Syzygy. The subject of their miniproject is be individually negotiated. There can be 2-3 additional tracks. You need to commit yourself to one of the tracks for your miniproject by W5. \subsection{Learning to Program, using Python} This group of four has met outside of class T4. They are expected to understand the math in the pocket notes, like everybody else, but need only follow along any discussions of the programs if they wish. Your miniproject will concentrate on exposition and documentation, and not so much on programming just yet. \subsection{Aszgard Programmers} The four people who are taking up Aszgard now, need only to know what is in the pocket notes, and be willing (and able) to help others. The VPython examples can be useful for your prototyping RTICAs for the Cube. For instance, pick a VPython example (check with me) and put it into the Cube by F6. (That's in 2 weeks!) \subsection{Pocket Programs in C Group} Assignment is to complete the exercises in the pocket notes using C/OpenGL as directed for exploration. \subsection{Pocket Programs in Python} Write (some) of the programs in the pocket notes in minimal Python, either with Tkinter or Pygame modules. Put these, with documentation, into svn. \subsubsection{Stan Blank's Textbook} For those of you not completely at home in Python, there are the very good and slow notes by Dr. Blank. These have been used by students to progress very rapidly, mainly by skimming and only doing some of the exercises. However, there is a problem with the version of Python this text assumes, and an adequate substitution with a different Python needs to be made. There is something more to be said privately about this sub-track. \section{My Miniproject is .... } Now that you have read through this document, I want you to decide what your miniproject will be. Don't make it difficult for yourself. This is a practice for proposing your major project for the course. \texbf{Do not procrastinate}, I will have some time this coming weekend to go through the census. So please consider this a "have-to" and do it by Friday.
Question 7.
Describe your plan for your miniproject in a few sentences. Which track are you going to take? You may mix and match in a reasonable way. \section{Additions} For convenience, we will continue using this census tool, as I add questions. Just click here to open the census and scroll down to the new questions. At this moments I am asking Questions 4 on Subversion, and Question 9 on Aszgard. Question 8 asks for suggested class discussion of available topics. \end{document}