Campus Location: / Georgetown, Dover, Wilmington / Effective Date: 201851
Course Number and Title: / CSC 164 Computer Science II
Prerequisite: / CSC 114, SSC 100 or concurrent
Course Credits and Hours: / 4 credits
3 lecture hours/week
2 lab hours/week
Course Description: / This course, the second in a series, emphasizes the use of classes and objects. Topics include object-oriented programming concepts, abstraction, algorithms, techniques, and libraries. Students write programs that are fault tolerant using multiple files and modules, class hierarchies, inheritance, and polymorphism.
Required Text(s): / Obtain current information at https://www.dtcc.edu/student-resources/bookstores, or visit the bookstore. (Check your course schedule for the course number and section.)
Additional Materials: / None
Method of Instruction: / Classroom
Disclaimer: / None

Core Course Performance Objectives (CCPOs):

1.  Discuss significant trends and societal impacts related to computing, software, and the Internet. (CCC 4, 5; PGC 1, 2, 3)

2.  Construct object-oriented programming (OOP) solutions for reuse, using multiple modules, abstract data types (ADTs) that incorporate encapsulation, polymorphism, data abstraction, inheritance, and information hiding. (CCC 2, 6; PGC 1, 2, 3)

3.  Create programming solutions that use data structures and existing libraries.

(CCC 2, 6; PGC 1, 2, 3)

4.  Differentiate between object-oriented and structured programming methodologies.

(CCC 2, 6; PGC 1, 3)

5.  Apply the principles of user interface design. (CCC 2, 6; PGC 2, 3)

See Core Curriculum Competencies and Program Graduate Competencies at the end of the syllabus. CCPOs are linked to every competency they develop.

Measurable Performance Objectives (MPOs):

Upon completion of this course, the student will:

1.  Discuss significant trends and societal impacts related to computing, software, and the Internet.

1.1  Discuss and identify ethical issues that arise in software development, and address them technically and ethically.

1.2  Identify and address recent societal trends and issues related to assignments, e.g., securing medical devices such as pacemakers.

2.  Construct object-oriented (OO) programming solutions for reuse, using multiple modules, abstract data types (ADTs) that incorporate encapsulation, polymorphism, data abstraction, inheritance, and information hiding.

2.1  Create OO programs that make appropriate use of encapsulation, data abstraction, and information hiding.

2.2  Test, debug, and correct OO programs employing encapsulation, data abstraction, and information hiding.

2.3  Design, test, and secure OO programs from current security vulnerabilities.

2.4  Analyze the execution of searching and sorting algorithms and prepare a walk-through or demonstration.

2.5  Produce user interfaces that incorporate simple color models and handle events.

3.  Create programming solutions that use data structures and existing libraries.

3.1  Create OO programs that make appropriate use of encapsulation, data abstraction, and information hiding.

3.2  Test, debug, and correct OO programs employing encapsulation, data abstraction, and information hiding.

3.3  Analyze the execution of searching and sorting algorithms and prepare a walk-through or demonstration.

4.  Differentiate between object-oriented and structured programming methodologies.

4.1  Identify the key characteristics of the object-oriented, structured, and functional programming.

4.2  Outline the strengths and weaknesses of the object-oriented, structured, and functional programming paradigms.

4.3  Analyze programs that use the the object-oriented, structured, and functional paradigms.

5.  Apply the principles of user interface design.

5.1  Identify user interface design issues during design phase.

5.2  Discuss the issues of interface design such as human factors, ergonomics, psychological, and consistency, etc.

5.3  Implement solutions based on the user interface requirements.

Evaluation Criteria/Policies:

Students must demonstrate proficiency on all CCPOs at a minimal 75 percent level to successfully complete the course. The grade will be determined using the DTCC grading system:

92 / – / 100 / = / A
83 / – / 91 / = / B
75 / – / 82 / = / C
0 / – / 74 / = / F

Students should refer to the Student Handbook (https://www.dtcc.edu/academics/student-handbook) for information on the Academic Standing Policy, the Academic Integrity Policy, Student Rights and Responsibilities, and other policies relevant to their academic progress.

Core Curriculum Competencies (CCCs are the competencies every graduate will develop):

1.  Apply clear and effective communication skills.

2.  Use critical thinking to solve problems.

3.  Collaborate to achieve a common goal.

4.  Demonstrate professional and ethical conduct.

5.  Use information literacy for effective vocational and/or academic research.

6.  Apply quantitative reasoning and/or scientific inquiry to solve practical problems.

Program Graduate Competencies (PGCs are the competencies every graduate will develop specific to his or her major):

1.  Design and implement moderate to complex programs that meet specifications, perform reliably, and are maintainable using the principles of software engineering.

2.  Apply object oriented design principles to software analysis and programming.

3.  Analyze currently available operating systems and software development platforms to design and implement software applications that are effective and secure.

4.  Develop programs in assembly language that directly address the computer architecture.

5.  Develop technical documentation to meet end user requirements.

Disabilities Support Statement

The College is committed to providing reasonable accommodations for students with disabilities. You are encouraged to schedule an appointment with your campus Disabilities Support Counselor if you feel that you may need an accommodation based on the impact of a disability. A listing of campus Disabilities Support Counselors and contact information can be found at go.dtcc.edu/DisabilityServices or visit the campus Advising Center.