CS 2401 Elementary Data Structures and Algorithms
Spring 2007

Announcements

Syllabus (pdf version)

Lab Assigments

Important Dates

Schedule

Policies and Other Information


Instructors:

Teaching Assistants (TAs):

Peer Leaders:

Lecture sections:

Labs:

Objectives and Outcomes

This is the second course for students majoring in Computer Science. Students will learn about fundamental computing algorithms, including searching and sorting; elementary abstract data types including linked lists, stacks, queues and trees; and elementary algorithm analysis.

Level 3 Outcomes: Synthesis and Evaluation:

Level 3 outcomes are those in which the student can apply the material in new situations. This is the highest level of mastery. On successful completion of this course, students will be able to identify, implement and use the following data structures as appropriate for a given problem:

Level 2: Application and Analysis:

Level 2 outcomes are those in which the student can apply the material in familiar situations, e.g., can work a problem of familiar structure with minor changes in the details. Upon successful completion of this course, students will be able to:

Level 1: Knowledge and Comprehension

Level 1 outcomes are those in which the student has been exposed to the terms and concepts at a basic level and can supply basic definitions. On successful completion of this course, students will be able to:


Policies and Other Information

Cellular telephones are prohibited during lecture and lab sessions. Students are required to turn off their cellular telephones before entering the classroom or laboratory session.

Prerequisites: Minimum "C" grade in CS1401 or equivalent. Students are assumed to be comfortable programming in Java. Students should be able to code basic arithmetic expressions, define simple classes, use strings, code loops and conditional statements, write methods, create objects from classes, invoke methods on an object, perform basic text file input and output, and use arrays.

Important Advising Notes:

Textbook: Reading and laboratory assignments will be drawn from Java Programming, Program Design Including Data Structures by D.S. Malik. You are required to obtain this book for use in this course. Note that photocopied textbooks are a violation of copyright law. Any student caught with a photocopied book will be referred to the Dean of Students for discipline.

Grading:

Final grades will be based on a combination of lab projects, homework assignments, in-class attendance and performance, three partial exams, and a final exam. The approximate percentages are as follows: The nominal percentage-score-to-letter-grade conversion is as follows: Additionally, any one of the following will result on a final grade of F, even if the overall average is greater than 60%. We reserve the right to adjust these criteria downward, e.g., so that 88% or higher represents an A, based on overall class performance. The criteria will not be adjusted upward, however. You must earn a C or better to continue to the next course in this sequence.

Lab Submission: Working programs must be submitted online. In addition, you must schedule a one-on-one session with your TA in which you will explain how your program works and he/she will ask questions to test your understanding of the program being submitted. The TA will then assign a pass/fail grade for this session; a student receiving a failing grade in this session will receive a grade of zero for the project. NOTE: The lab demo should be presented before, or on, the deadline posted for the assignment.

Late Projects and Homework: Lab projects up to a week late will receive up to 70% percent of full credit, from one to two weeks late, up to 50%, and more than two weeks late will receive no credit. NOTE: The turn-in-date for labs is not when you give your code to the TA, but the date when you demo the lab.
Homework up to a day late will receive up to 80% of full credit, and it will not be accepted after that.

Collaboration: Discussion of homeworks and projects among students is encouraged, but your answers and your code should be written and tested by you alone. Do not exchange programs or let someone look at your code, even "just so they can see how you did it." If you need help, consult one of the professors, your TA, or your peer-leader.

Laboratory Sessions: Laboratory sessions are designed to give you guidance in getting your homework assignment started well. In a typical lab session, the Teaching Assistant will present additional material that will help you complete the assignment and answer your questions as you begin work.

Standards of Conduct and Academic Dishonesty:

You are expected to conduct yourself in a professional and courteous manner, as prescribed by the UTEP Standards of Conduct.

Academic dishonesty includes but is not limited to cheating, plagiarism and collusion. Cheating may involve copying from or providing information to another student, possessing unauthorized materials during a test, or falsifying data (for example program outputs) in laboratory reports. Plagiarism occurs when someone represents the work or ideas of another person as his/her own. Collusion involves collaborating with another person to commit an academically dishonest act.

Professors are required to - and will - report academic dishonesty and any other violation of the Standards of Conduct to the Dean of Students.

Disabilities: If you feel that you may have a disability that requires accommodation, contact the Disabled Student Services Office at 747-5184, go to Room 106E Union, or email dss@utep.edu