The course objective is to introduce students to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. By the end of the course, students will have a solid understanding of Java and C++ programming, and be familiar with the major issues that programmers routinely address in a professional setting.