CSE 101
Programming Assignments


Follow the instructions below to submit programming assignments in this class.

Create an account on GitLab @ UCSC by following the instructions at https://gitlab.soe.ucsc.edu/static/docs/gitlab-ucsc/ and read the submission instructions at https://gitlab.soe.ucsc.edu/static/docs/gitlab-ucsc/using_gitlab.html, especially how to use the Git commands clone, add, commit and push.

If you have never used Git before,  here is a very gentle introduction on YouTube, and some helpful documentation pages here and here which introduce command line tools for Git.  All of these options require you to install Git software on your computing device (unless you are developing directly on the Unix Timeshare, which already has Git installed.)  Note also that these tutorials describe interaction with the cloud services GitLab.com or GitHub.com, whereas you will submit your code the UCSC Git server at 
gitlab.soe.ucsc.edu/gitlab/.  

Our class directory on that server is cse101/fall20
Create directories in your local repository called pa1, pa2, ..., pa8.  Place your source code files for each project in the appropriate directory.  Other directories in your repo will be ignored during grading.  Submit the source code files for each programming project (i.e. add, commit & push) often. 

Every programming assignment comes with a bulit in 12-hour grace period, i.e. if an assignment is due at 10:00pm, you will have until 10:00am the next morning to complete the assignment.  If I extend an assignment, the 12-hour grace period is extended by the same amount.  All times are given in local (California, United States). 
If you are in another time zone, you can easily convert to and from CA by using https://www.worldtimebuddy.com/.  We will grade the latest commit and push made before the end of the grace period. Later commits will not be considered for grading

If you have trouble with any of these instructions, please see a TA or Course Tutor for help.

pa1:  Due Monday October 12, 10:00pm           Extended yet again to Friday October 16, 10:00pm  (last one)   

pa2:  Due Tuesday October 27, 10:00pm           Extended yet again to Sunday November 1, 10:00pm  (absolutely last!)  
pa3:  Due Thursday November 5, 10:00pm        Extended one last time to Wednesday November 11, 10:00pm (last!)         
pa4:  Due Saturday November 14, 10:00pm      Extended yet again to Thursday November 19, 10:00pm (last)     
pa5:  Due Monday November 23, 10:00pm       Extended one last time to Monday November 30, 10:00pm (last!)       
pa6:  Due Monday November 30, 10:00pm       Extended one last time to Sunday December 6, 10:00pm         
pa7:  Due Tuesday December 8, 10:00pm          Extended one last time to Saturday December 12, 10:00pm (last)                       


UCSC Computer Accounts
All programming assignments in this course will be tested and evaluated on the UCSC Unix Timeshare, unix.ucsc.edu. The host unix.ucsc.edu provides a Linux command line environment and home directory access to multiple concurrent users.  All students with an active CruzID account can access this system using their CruzID-Blue password.  To log on to unix.ucsc.edu from your computing device, you must have an internet connection and install the appropriate software, as outlined below.


Terminal access for Windows users
:  
Download the PuTTY client and run the program putty.exe.  Set Host Name to unix.ucsc.edu, Port Number to 22 and Connection Type to SSH.  Click Open and respond with your CruzID and Blue password.

Terminal access for Mac users:  
Open Terminal Server in your Utilities Folder.  In the terminal window type:  ssh  user@unix.ucsc.edu, where user is your CruzID, then respond with your Blue password.

Secure File Transfer for all users:
Download and install FileZilla for your platform.  (Warning to Windows users:  do not download the installer from here.  Make sure you use the Windows installer found here.) Set Host to unix.ucsc.edu, Username to your CruzID, Password to your Blue password and Port to 22, then click Quickconnect.  The left pane shows your local file system, and the right pane shows the remote file system on unix.ucsc.edu. Simply drag and drop files from one pane to the other to transfer files.

Code Editors:  
Notepad++ (Windows only),  BBedit (Mac only), SublimeText (all platforms). There are many others.


If you have any problems installing these tools, or logging on to unix.ucsc.edu you should get help from a TA or Course Tutor.  You may develop your programming projects on any platform, but remember that they will be tested and evaluated on the timeshare.  Therefore, it is imperative that you thoroughly test all programs in this environment before submission.  The host unix.ic.ucsc.edu is administered by Information Technology Services.  Contact ITS Support Services for assistance with your account.



If you find any errors, please report them to: ptantalo@soe.ucsc.edu