Objects and Algorithms
I. Course Prefix/Number: CSC 255
Course Name: Objects and Algorithms
Credits: 3 (3 lecture; 1 lab)
III. Course (Catalog) Description
A C++ or Java programming course that continues the development of object-oriented techniques and includes a survey of introductory algorithms. Object-oriented methodologies are used to implement algorithms that exhibit backtracking, divide and conquer, greedy methods and branch and bound techniques; analysis of time and memory complexity using discrete metrics.
IV. Learning Objectives
- Implement object-oriented programming methodologies including the use of various data structures via dynamic or static memory allocation.
- Analyze algorithmic complexity using discrete mathematical metrics such as Big-O notation.
- Use and implement algorithms to find solutions for various advanced programming problems.
- Analyze and implement sorting and searching algorithms to solve advanced programming problems involving data structures such as binary trees and tables.
- Analyze and implement elementary semi-numerical algorithms through the use of random and deliberate schemes.
- Apply introductory distributed algorithms through the use of parallel schemes.
V. Academic Integrity and Student Conduct
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.
There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.
Please review the Code of Academic Conduct and the Code of Student Conduct, both located online at
VI. Sequence of Topics
- Object-Oriented Programming
- Algorithmic Complexity Metrics
- big and little O notation
- big omega and theta notation
- recurrence relations
- Abstract Data Types
- sets and multisets/maps
- hash tables
- Algorithmic Paradigms
- divide and conquer
- greedy methods
- random number generators
- distributed algorithms
VII. Methods of Instruction
Course may be taught as face-to-face, hybrid or online course.
VIII. Course Practices Required
IX. Instructional Materials
Data Structures and Algorithm Analysis in JAVA
Copyright Year: 2012
Data Structures and Algorithm Analysis in C++
Copyright Year: 2014
X. Methods of Evaluating Student Progress
XI. Other Course Information
If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the Access and Disability Resource Center at the Des Plaines or Skokie campus. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.
Oakton Community College is committed to maintaining a campus environment emphasizing the dignity and worth of all members of the community, and complies with all federal and state Title IX requirements.
Resources and support for
- pregnancy-related and parenting accommodations; and
- victims of sexual misconduct
Resources and support for LGBTQ+ students can be found at www.oakton.edu/lgbtq.