CSC 322: Programing 3: Advanced Data Structures: 3 hours
Description
A continuation of Programming 2. Students will learn to design and use data structures including stacks, different types of queues, different types of trees, graphs, and other advanced data structures. Complex sorting routines and algorithm analysis will be covered. Pre-requisite: CSC 221.
Goals for CSC 322 are:
- Further develop programming skills
- Learn and use different data structures
- Enhance team development skills
Course outcomes for CSC 322 are:
Upon complete of CSC 322, students will:
- be able to appropriately use data structures found in a language\x92s API
- be able implement different data structures on their own
- be able to use complex and efficient sorting algorithms
- be able to do algorithm analysis
Program outcomes for CSC 322 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self learning by learning on additional data structure and developing a program using it.
- Technical writing by submitting high caliber software development reports
- Team skills by working on teams with at least two programs
- Professional by doing assigned learning tasks in a timely manner
- By implementing secure programming in each program and reporting on it and also existing security weaknesses.
- Ethics by writing a report about the ethical components of associated with two programs developed