MTH229: computer projects to reinforce calculus concepts from numerical and graphical points of view will be presented. Suitable mathematical software will be utilized. Problem solving techniques using the computer will be discussed. The students will be assigned a number of projects to be completed individually or in small groups.
Instructor: Professor John Verzani. john.verzani@csi.cuny.edu
.
Website: www.math.csi.cuny.edu/verzani
Class time: W 12:20-2:15
Special days:
Office hours: By request
Disability policy: Qualified students with disabilities will be provided reasonable academic accommodations if determined eligible by the Office for Disability Services. Prior to granting disability accommodations in this course, the instructor must receive verification of the student’s eligibility from the Office of Disability Services. It is the student’s responsibility to initiate contact with the Office for Disability Services staff and to follow the established procedures for having the accommodation notice sent to the instructor.
Integrity policy: CUNY’s Academic Integrity Policy is available online at https://www.cuny.edu/about/administration/offices/legal-affairs/policies-procedures/academic-integrity-policy/.
We will meet through zoom and communicate through blackboard. A standing zoom link will be set up for the class.
Your grade will be based on your project average (50%) and your average on 3 exams and possibly some quizzes (50%).
The three exams will be on March 10th, April 21st, and May 19th (finals week). Each will carry the same weight.
The mathematical software used in this section will be Julia. Julia is an open-source software language well designed for numerical computations.
Julia
is open source. We have several different ways to use Julia
in this class.
The url launch binder will open a website that allows you access to the course projects and Julia
. This works well, except the pages will time out due to non-activity fairly frequently.
For academic use, the notebooks.gesis.org
website can be used. It is like binder only has two big advantages: it times out after 40 minutes of inactivity (not 10) and your work will remain from session to session (persistance). It does take a bit of work to set up:
Create an account at notebooks.gesis.org using your CSI email. (Students are eligible as this site will be used for academic purposes.)
Once an account is created, fill in the two form fields as indicated by the circle in this image
Click launch
Save the url that is created or return to notebooks.gesis.org to find a button to restart the server.
Restarting a stopped notebook and running "Cell -> Run All" will leave it where it was left (assuming all cells were run in order from top to bottom).
The docker image jverzani/mth229-julia
can be used to use the projects within Julia
.
Docker is a freely available system for running containerized applications. THe basic instructions are:
download Docker Desktop from Docker. There are images for Windows, Mac, and Linux.
While docker desktop is running, issue the command
docker run -p 8888:8888 jverzani/mth229-julia
or if ~work
is a folder in your home directory, starting with
docker run -v ~/work:/home/jovyan/work -p 8888:8888 jverzani/mth229-julia
will allow the saving of data into a work folder.
Docker will print a "url" after that command, e.g. http://127.0.0.1:8888/?token=841ddf7e5c73bdf3515207add1cb360baf81973f75e304c6
. The "token" part is randomly generated. Open this url into a web browser window and Julia
will be ready to run.
The college put many efforts into allowing students remote access to computers in the college's labs. Julia
is installed on the computers in 1S-108. Details are at https://www.csi.cuny.edu/online-resources/office-information-technology-services/computer-labs-multimedia-classrooms/virtual-computer-labs.
Julia can be downloaded and installed on a local computer. In addition to Julia
, there are a handful of necessary steps to download and install the projects and some accompanying libraries. Ask for more details.
You might try downloading http://hogwarts.ucsd.edu/~pkrysl/shared/Portable_Julia.zip
and expanding to a USB thumb drive. Run from there. You will need to install the IJulia
and MTH229
packages and add the project files. Details are on mth229.github.io.
The class is structured around 10 topics. For each topic, there are a series of WeBWorK questions to complete. These will be worth 50% of your grade.
The url https://www.math.csi.cuny.edu/WebWork/courses.md lists the courses. Find MTH229 - Verzani
and select that. Login details are on the side panel.
The WeBWorK questions for this class have some differences than the ones for MTH 231 and MTH 230. In particular, they require you to do the computations in Julia
, as WeBWorK is instructed not to help out. In addition, WeBWorK has a different indicator for scientific notation. Julia
uses and e
, as in 1.23e45
, whereas WeBWorK would use an E
, as in 1.23E45
.
Most questions have a tolerance of 4 digits after the decimal point. Some questions where the answer comes from reading a graph will relax this tolerance.
The expected workflow is that the question is read in WeBWorK, the question is answered in a Julia
notebook cells, the appropriate results are then copy and pasted for the WeBWorK answer. Unfortunately, the fonts used to display the WeBWorK questions do not lend themselves to copy and paste into a Julia
notebook.
Students who participate in this class with their camera on or use a profile image are agreeing to have their video or image recorded solely for the purpose of creating a record for students enrolled in the class to refer to, including those enrolled students who are unable to attend live. If you are unwilling to consent to have your profile or video image recorded, be sure to keep your camera off and do not use a profile image. Likewise, students who un-mute during class and participate orally are agreeing to have their voices recorded. If you are not willing to consent to have your voice recorded during class, you will need to keep your mute button activated and communicate exclusively using the "chat" feature, which allows students to type questions and comments live.