v.20170116 SPRING 2017
Department of Computer and Mathematical Sciences
New Mexico Highlands University
Richard Medina, Ph.D.
Office: HSCI 291 : 505-426-2277 : rmedina@nmhu.edu
Office Hours: MTW 2-4pm (or by appointment)
Lecture: Mondays and Wednesdays: 12:30 - 1:45pm in HSCI 282
Lab: Wednesdays: 2 - 3:50pm in HSCI 282
Midterm Exam: Wednesday, Mar 15 @ 12:30 - 1:45pm in HSCI 282
Final Exam: Friday, May 12 @ 7:30 - 10:30am in HSCI 282
[from the course catalog] This course is intended to provide an intermediate introduction to methods of organizing data in memory and on peripheral devices and of accessing this information in an efficient manner. The course gives students experience with searching and sorting, trees, binary search trees, graphs, sequential files, merging files, and file update procedures. Prerequisite: CS 245 with a minimum grade of C. This course will also introduce basic algorithm analysis with respect to common data structure implementations used in the field.
\pagebreak
Data Structures and Algorithms in Python by Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2013 edition). Hardcover ISBN: 978-1-118-29027-9 eBook ISBN: 978-1-118-54958-2
Other handouts provided by the Instructor
Desire2Learn ==> https://nmhu.desire2learn.com/d2l/home
Instructor site for updates and schedule ==> http://rmedinahu.github.io/
\pagebreak
It is expected that deadlines for programming assignments will be honored. Late assignments will always be accepted and assessed. However, point deduction for late assignments will be calculated as follows:
All programming assignments should be submitted to the appropriate dropbox in the Desire2Learn website for this course or to your github repository (as directed by instructor).
Assigned homework/programming assignments are to be strictly the work of each individual student. However, I encourage students to help each other and benefit from collaboration. This DOES NOT mean copying a fellow student’s code and replacing their name with yours. I can spot this practice immediately and will not give credit to any submitted code that follows that pattern.
If you and other students work together on a solution:
a. All parties must indicate in source code comments (at the top) the nature of the collaboration, who was involved, and what was gained by the collaboration.
b. Your source code cannot be a COPY of your collaborators code. I want you to develop your own coding and problem solving skills. You will not develop mad skills if you simply copy and paste or worse, save as…
c. Take (a) and (b) seriously.
\pagebreak
Each assigned program is worth 100 points. The criteria is as follows:
All programming submissions should include the following on the first two lines of your source file as comments:
# Medina, Richard 1-19-2017
# Homework 1
# I worked on the printmessage function with Guido. He showed me a way to format the string.
def printmessage():
print('Hello. This is a sample program.')
printmessage()
Your source files should be named to include your last name first initial followed by hw assignment number as demonstrated below. DO NOT USE SPACES in file names please!
medinar-hw1.py
Lab is mandatory and is intended to give you the opportunity to work out concepts and skills related to the weekly topics addressed in lecture. I take the approach that the lab is open to collaboration among students (help each other, ask each other). The Instructor and/or the Teaching Assistant are there to provide additional help and feedback during each lab session. The lab also motivates me to assign more challenging homework!