CMPS 12B/M - Fall 2016 - Introduction to Data Structures


Instructor Information

Charlie McDowell
Office: E2 349B
Office Hours: MW 4-5pm, TTh 3:30-4:30pm
E-mail: charlie@cs.ucsc.edu
Patrick Tantallo
Office: E2 257
Office Hours: TBA
E-mail: ptantalo@soe.ucsc.edu

Online Support Systems

The eCommons course managment system is where you can find your grades.

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.

Find our piazza class page at: 

Web casts of the class lecture (audio + screen capture) will be available using the Web Casts link in the main menu. I will also be making recordings of some of the material available in advance of class. These will cover the same material I expect to cover in class. You will find them at

https://drive.google.com/open?id=0Bys4CXe3OtANNUdRN0RYM2VoMGM

Lab Information

The lab times and locations are listed below. The names you see are the first names of your TA/tutors. You may send private questions to the TA/tutors by making private posts in piazza and select "instructors" as the recipient. The first name listed is the head TA for that section and the person you should contact with administrative questions.

Ishani  ischakra@ucsc.edu 
Madhu  mshivash@ucsc.edu 
Vikrant  vmore@ucsc.edu
Umang  usardesa@ucsc.edu
Cole cfaust@ucsc.edu

BE 105
A: Tuesdays, 8:30am-10:00am Ishani, Umang, Jeffrey
B: Tuesdays, 10:00am-11:30am Ishani, Cole, Umang
C: Tuesdays, 7:30-9:00pm Cole, Jonathan, Pranav, Madhu
D: Wednesdays, 11:00am-12:30pm Vikrant, Cole
E: Wednesdays, 12:30-2:00pm Vikrant, Cole
F: Wednesdays, 6:00-7:30pm Umang, Jonathan, Pranav
G: Wednesdays, 7:30-9:00pm Jonathan, Umang , Jeffrey
H: Fridays, 8:30-10:00am Ishani, Jonathan, Madhu
I: Fridays, 10:00-11:30am Vikrant, Pranav, Madhu
J: Fridays, 11:30am-1:00pm Ishani, Vikrant, Madhu

 

You are guaranteed a seat on your assigned lab day, but are welcome to attend additional lab sections on a first come, first serve basis. There will be no makeups for missed labs, however, everyone gets one free day. There are 8 weeks during which lab attendance is taken (attendance will not be taken week 1 or week 9 - Thanksgiving week). If you attend your assigned lab 7 of those 8 weeks, you will receive 100% of the lab attendance credit. Although attendance will not be taken, labs will meet the first week and there is work for you to complete during lab.

Text:

Strongly Recommended:
Data Abstraction and Problem Solving with JAVA (2nd or 3rd edition) by Frank M. Carrano and Janet J. Prichard.
Supplementary Texts:
C for Java Programmers: A Primer Charlie McDowell. Lulu.com 2007.
Your Unix (2nd edition) Sumitabha Das. McGraw-Hill 2006 (ISBN 978007250422).
Java By Dissection Ira Pohl and Charlie McDowell. Lulu.com 2006.

Evaluation:

12B

  • Programming assignments (20%).
  • Bi-Weekly quizzes (best four out of five) (40%).
  • Final (40%).

 

12M

Working Together:

The programming projects are to be done in two person teams following the pair programming guidelines. You will be assigned a new partner from your same lab section for each assignment. New lab partner assignments will be posted the same day that assignments are due. The normal policy is for all students to be assigned new partners after each project, however, if you feel strongly that you want to continue with your current partner or request a specific partner, you may make your request at www.soe.ucsc.edu/~charlie/programmingPartnersBoth partners must make the request, and it will require a review and approval by the instructor. 

You may freely give and receive help with the computer facilities, editors, debugging techniques, the meaning and proper use of programming language constructs, built-in functions, etc.. You should not discuss your design or implementation of the programming assignments with students other than your partner until after they are turned in. In particular you should not view another person/pair's program, or allow someone (other than your partner) to view any part of your program, prior to the due date for that assignment. Obviously, copying any part of another person/pair's program, or allowing your program to be copied is not permitted. A program, Moss, will be in use to detect copying. If you have any questions on this important point, please see me.

If you should happen to use some actual code you got from someone other than your partner (such as the TA or some tutor or a previous partner or your room mate or on online resource) you MUST credit that person with a comment preceding the code in question (see "Giving Credit Where Credit is Due"). This could also come up if you were discussing a program with another student from the class and ended up writing some code on scrap paper or a white board. The safe and proper thing to do in this situation would be to insert a comment in your program where that code snippet is used. At worst you might lose a few percentage points if it was a really key part of the assignment. Failure to draw attention to the code snippet with a comment could result in a charge of academic dishonesty. Give credit where credit is due.

It is highly recommended that you read

All I Really Need to Know about Pair Programming I Learned In Kindergarten

Academic Dishonesty:

Any confirmed academic dishonesty including but not limited to copying programs or cheating on exams, will constitute a failure of the computer ethics portion of this class and may result in a no-pass or failing grade. You are encouraged to read the campus policies regarding academic integrity.

Programming Assignments:

Everyone should submit their own programming log by pasting the log into the text area provided in ecommons for the assignment. The log should be created by copying and modifying as appropriate, one of the template logs from log templates.

The programs you submit this quarter should be original programs created just for this class. It is NOT acceptable to submit programs that you (or someone else) has written previously. As indicated above, if you incorporate any portions of programs written by someone else, or by you for a prior course or assignment, then that should be clearly noted in the program via comments. (See "Giving Credit Where Credit is Due".)

Quizzes

There will be a quiz approximately every other week. See the class Syllabus for details.

If you qualify for classroom accommodations because of a disability, please get an Accommodation Authorization from the Disability Resource Center (DRC) and submit it to your instructor (Charlie McDowell) in person outside of class (e.g., office hours) within the first two weeks of the quarter. Contact DRC at 459-2089 (voice), 459-4806 (TTY), or http://drc.ucsc.edu for more information on the requirements and/or process.