Course Details
CSCI222: Programming Comp Sci & Eng II
This course provides an advanced course in computer programming for students with a solid background in introductory C++ or Java. Topics include objects and classes in Java, object-oriented programming design, inheritance, polymorphism, exceptions, recursion, and advanced data structures. While the focus of the course will be object-oriented programming in Java, students with experience in other languages (such as C/C++ or Python) will be encouraged to pursue independent projects that allow them to study the implementation of these same concepts in the context of other programming languages. The course will also help students to further develop good coding practices that are universal to the process of programming, whatever the language. This course follows the ACM guidelines for CS 1.
Overview

Learning Objectives and Outcomes

- Learn the fundamentals of object-oriented program design in Java and other object- oriented programming languages
- Implement programs that make use of more sophisticated program flow (including recursion) and more advanced data representation (arrays, linked-lists, stacks).
- Create simple graphical interfaces that make use of user input/output.
- Learn and maintain good programming practices, including flow-charting and drafting algorithms in pseudo-code, maintaining well-documented version-control, and providing detailed comments within one’s own code.
Where Will This Course Transfer?

| Institution | Identifier | Name | Notes | Level |
|---|---|---|---|---|
| Central Virginia Community College | CSC202 | Computer Science II | 2-Year | |
| Paul D. Camp Community College | CSC202 | Computer Science II | 2-Year | |
| Virginia Highlands Community College | CSC202 | Computer Science II | 2-Year | |
| Christopher Newport University | CPSC250 | Progrmng for Data Manipulation | 4-Year | |
| Christopher Newport University | CPSC250L | Prog for Data Manipulation Lab | 4-Year | |
| Longwood University | CMSC162 | Intro Algorithmic Design II | 4-Year | |
| The University of Virginia's College at Wise | CSC200T | 2000-LEVEL COMPUTER SCIENCE ELECTIVE | 4-Year | |
| George Mason University | CS211 | Object-Oriented Programming | 4-Year | |
| Norfolk State University | CSC260 | Computer Programming II | 4-Year | |
| Norfolk State University | CSC260L | Computer Programming II Laboratory | 4-Year | |
| William & Mary | CSCI141 | Computational Problem Solving | 4-Year | |
| Old Dominion University | CS2ELE | N/A | 4-Year | |
| University of Mary Washington | CPSCNOTMJ | Elective | NOTMJ indicates this is not a major elective. General elective credit will apply to the overall credits needed to graduate. | 4-Year |
| University of Mary Washington | CPSC220 | Comp Progr & Problem Solving | 4-Year | |
| Virginia Polytechnic Institute and State University | CS1XXX | Computer Science Electives | 4-Year | |
| Virginia Polytechnic Institute and State University | CS2104 | Intro to Problem Solving in CS | 4-Year | |
| Marymount University | IT130 | Java Programming | 4-Year | |
| Virginia Commonwealth University | CMSC2XX | Computer Science Transfer Elective | 4-Year |
