CSE 101
Introduction to Data Structures and Algorithms
Programming Assignments


General Instructions:

All programming assignments for this course will be submitted through the UCSC Gitlab server https://git.ucsc.edu/. Go to the ITS GitLab for Instruction page to access your account.

IMPORTANT: Make sure your username on git.ucsc.edu is identical to your CruzID (the string before the @ in your email address.) If your username is some other string, like your CruzID followed by an integer, open a help request ticket at https://slughub.ucsc.edu/its to fix this problem.

If you are new to GitLab, read the following

GitLab Tutorial

Several other Git tutorials are linked on the class webpage. Two more are here and here.  Once you have a little experience, keep the following Git Cheatsheet handy. Here's another one: Git Cheatsheet2.  Strictly speaking, Git command line tools are not part of the content of this course. They do however constitute an essential skill for any software professional, so it is worth your time and effort to learn them. If you'd prefer not use Git at the command line, you can log in to git.ucsc.edu, and upload your files directly through the web interface.

I will run a script periodically (once a day to begin with) that will create your repository on git.ucsc.edu and give you access.  Note that I cannot create a repository unless your account already exists, which is why I run the script once a day. Thus you may have to wait up to 24 hours after you activate your account before your repo is accessible.  Next, create subdirectories in your repo for each of the assignments in this class. They should be named pa1, pa2, pa3, etc.. (not PA1, prog1, asgn1 or any other name). Be aware that if you misname any file or directory associated with a programming project in this course, you will break our grading scripts, and lose points as a result.

For each assignment, submit all required files to GitLab by placing them in the appropriate directory in your local repo, then upload them to the server (either by using Git commands add, commit and push, or by using the web interface.) If you have any trouble with any of these instructions, consult a Course Tutor or Teaching Assistant in a lab session or office hours. Teaching Assistant Mahyar Vahabi (mvahabi@ucsc.edu) and Course Tutor Raj Nadkarni (ranadkar@ucsc.edu) are tasked with grading programming assignments, and will be most helpful with questions of this type.

Programming Assignments:

pa1:  Due Saturday October 4, 10:00pm    Extended again to Monday October 6, 10:00pm (Last)
pa2: Due Sunday October 12, 10:00pm Extended again to Tuesday October 14, 10:00pm (Last)
pa3: Due Monday October 20, 10:00pm Extended again to Wednesday October 22, 10:00pm (Last)
pa4: Due Wednesday October 29, 10:00pm Extended again to Sunday November 2, 10:00pm (Last)
pa5: Due Friday November 7, 10:00pm Extended yet again to Wednesday November 12, 10:00pm (Last!)
pa6: Due Sunday November 16, 10:00pm Extended yet again to Wednesday November 19, 10:00pm (Last!)
pa7: Due Tuesday November 25, 10:00pm Extended again to Friday November 28, 10:00pm (Last)
pa8: Due Tuesday December 2, 10:00pm Extended again to Friday December 5, 10:00pm (last)





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