Course Information: Advanced Programming

Computer Science Department
Course Competency Plan
COURSE: CpSc 246 Advanced Programming

Course Outcomes: This course and its outcomes support the Computer Science and Information Systems Learning Outcomes of Problem Solving and Critical Thinking (PS&CT), Communication and Interpersonal Skills (C&IS), and Ethical and Professional Responsibilities (E&PR). These Information Technology and Information Systems Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.

This course engages students in the following high impact practices: Collaborative assignments and projects
DegreeProgram ObjectiveAssessed Course Objective
CS I.a.Design an algorithmic solution to a problem using problem decomposition and step-wise refinement 1. Implement object-oriented programs that use advanced features of the language and run to normal termination and which meet written specifications.
CS I.b.Implement an algorithm by creating a tested and debugged programmatic solution
IS I.c.Integrate programming and design principles for effective problem solving to address the needs of an organization
CS 1.d. Develop abstract models to simulate complex systems 2. Design object-oriented programming solutions that include concepts such as encapsulation, inheritance, and polymorphism.
CS II.a. Document all aspects of a system precisely and clearly. 3. Write self documenting code with an appropriate user interface that meets the style requirements for readability and usability.
IS II.a. Write clear and concise user documentation.
CS III.c. Demonstrate an understanding of the Association of Computing Machinery (ACM) Code of Professional Ethics 4. Understand ethics & professionalism.
IS III.c. Demonstrate an understanding of the Association of Computing Machinery (ACM) Code of Professional Ethics

Additional Course Objectives include:
The student will be able to:

  1. Identify and use programming concepts supported by the core language such as classes, exception handling, events, and recursion.