CSE 101
Programming
Assignments
Follow these instructions to submit your programming projects in this class.
- Create
an account on GitLab @ UCSC by following the
instructions at https://gitlab.soe.ucsc.edu/static/docs/gitlab-ucsc/ .
- 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. There is also a GUI
available for Git that would allow you to use graphical tools.
All of these options require you to install some 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/spring-20.
(Unfortunately I included a dash "-" when I created the subgroup of
cse101, which departs from the standard naming convention. With
that exception only, your commands should follow the examples given at https://gitlab.soe.ucsc.edu/static/docs/gitlab-ucsc/using_gitlab.html).
- 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.
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 time (Pacific Daylight Time). If you are in another time zone, you can easily convert to and from PDT by going to: 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 for help.
pa1: Due Thursday April 9, 10:00pm Extended one last time to Saturday April 11, 10:00pm
pa2:
Due Thursday April 16, 10:00pm Extended one more time to Monday April 20, 10:00pm (last one)
pa3:
Due Friday April 24, 10:00pm Extended again to Tuesday April 28, 10:00pm
pa4:
Due Tuesday May 5, 10:00pm Extended yet again to Friday May 8, 10:00pm (last one)
pa5: Due Thursday May 14, 10:00pm Extended yet again to Sunday May 17, 10:00pm (last one)
pa6:
Due Friday May 22, 10:00pm Extended yet again to Tuesday May 26, 10:00pm (absolutely last one)
pa7: Due Wednesday, June 3, 10:00pm
Extended again to Friday, June 5, 10:00pm (absolutely last one)
pa8:
Due Wednesday, June 10, 10:00pm
Notes on pa8:
This is an optional re-submission of pa2. Any submission to
pa8 will replace your score for pa2,
even if the new score is lower. Use the grading scripts (check Hou-I Lin's Piazza posts) to make
sure your new score is not lower than the original. There will be no grace period for pa8, and no
extensions of any kind.
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 personal 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 for a grade 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