About the Course

Course Description

CSCI 132. Basic Data Structures and Algorithms. 4 Credits. (3 Lec, 1 Lab) F,S

PREREQUISITE: CSCI 111 or CSCI 127 and M 151Q. An examination of advanced Java and basic data structures and their application in problem solving. Data structures include stacks, queues and lists. An introduction to algorithms employing the data structures to solve various problems including searching and sorting, and recursion. Understanding and using Java class libraries. The laboratory uses Java. Introduces Big-O Notation.

Class Resources

Course Outcomes

By the end of this course, students should be be able to:

  • Design and implement a class in Java
  • Explain the concept of an ADT
  • Implement linked lists, stacks, queues, and deques
  • Apply consistent documentation and program style standards in Java
  • Be able to determine the time complexity of simple algorithms

Instructor

Meetings

  • Monday, Wednesday, Friday from 3:10 - 4:00
  • Norm Asbjornson Hall, Room 65.

Course Assistants

  • Alexis Tingey (Section 002 Tuesday 8:00 - 9:50)
    • Office: Barnard Hall 259: Day time - time, and by appointment.
    • Email: Name Name <alexis_tingey@yahoo.com>
  • Prashanta Saha (Section 003 Tuesday 10:00 - 11:50, see below for contact info)
    • Office: Barnard Hall 259:Tuesday, Thursday 9 - 10, and by appointment.
    • Email: Name Name <prashantasaha@montana.edu>
  • Maria Gallivan (Section 004 Tuesday 12:00 - 2:00)
    • Office: Barnard Hall 259: Tuesday 10 - 11, and by appointment.
    • Email: Name Name <maria.gallivan@gmail.com>
  • Ethan Fison (Section 005 Tuesday 2:10 - 4:00)
    • Office: Barnard Hall 259: Day time - time, and by appointment.
    • Email: Name Name <ethanfison@gmail.com>
  • Prashanta Saha (Section 006 Tuesday 4:10 - 6:00)
    • Office: Barnard Hall 259:Tuesday, Thursday 9 - 10, and by appointment.
    • Email: Name Name <prashantasaha@montana.edu>

Other Help

Class Policies

No cheating - The work you submit to be graded must be your own. Unless it is expressly stated otherwise, out of class assignments (labs, projects, homework) should be done individually. Assignments can be discussed with other students, TAs, or instructors at a high level (verbally, whiteboard or paper, examples), but sharing and reusing written code or finished answers is prohibited. Exams and quizzes must be done individually with no sharing or discussion of solutions.

No late assignments - Assignments submitted after the due date will not receive credit. Please plan accordingly. 

No rescheduling exams - Please check the syllabus early, and make certain that you will be able to be there at the required time and place. As a professional student, the only conflict with a priority matching a scheduled exam is another scheduled exam in another class.

Medical and other emergencies - If there is a medical emergency, tragedy or sudden hardship, you will need to provide written confirmation in order to have consideration for an exception to any grading schedules. 

Collaboration Policy

All students should read the MSU Student Conduct Code.

When it comes to coding assignments, you may

  • Work with the other people if teams are allowed. If teams are allowed, it will be explicitly stated for an assignment.
  • Share ideas with others.
  • Help others troubleshoot problems.

You may NOT

  • Share code you write with others.
  • Submit code that you (or someone on your team) did not write.
  • Modify another's solution and claim it as your own.

Failure to abide by these rules will result in an "F" for the course and being reported to the Dean of Students.

Grading

Note: Exams must be taken at the regularly scheduled time and will not be given early.

  • 5% zyBook Activities
  • 15% Exam 1
  • 15% Exam 2
  • 15% Final Exam
  • 20% Labs (the "in-lab" assignments are generally one or two hour programming exercises. They take place during time assigned by section, and proctored by TAs)
  • 30% Projects (out-of-lab programming assignments that take longer than inlabs)

To pass the course, you must average at least 50% on the practicums. Assuming that this is the case, grades will be determined (after any curving takes place) based on your class average as follows:

  • 93+: A
  • 90+: A-
  • 87+: B+
  • 83+: B
  • 80+: B-
  • 77+: C+
  • 73+: C
  • 70+: C-
  • 67+: D+
  • 63: D
  • 60: D-

Additional MSU Resources