CSC 421: Programming 4: Advanced Programming: 3 hours
Description
A study of the characteristics of high quality programs and how to create them. Different design patterns are included. Pre-requisite: CSC 322
Goals for CSC 421 are:
- Students will start the transition from writing code that works to developing high caliber code.
- Students will further their understanding of abstraction through the use of patterns
- Students will further their understanding of design through learning to use different types of UML diagrams beyond just simple class diagrams
Course outcomes for CSC 421 are:
Upon complete of CSC 421, students will:
- be able to create a large program using advanced quality programming concepts
- be able to design complex testing and documentation of a program
- use proper methodologies when programming
- be able to identify and apply the appropriate techniques to a given problem.
Program outcomes for CSC 421 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)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- 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
- Note taking at the application level. It is assumed that by this level students will be able to take quality notes in class. At least one assignment will have details only given in
- lecture requiring the students to take notes for any such assignment.
- Writing at the application level by requiring quality software development reports.
- Security at the intermediate level by covering and using non-trivial topics associated with secure programming in an object oriented environment