CISW 126 Intermediate Programming*

Students will explore a series of topics intended to introduce more complex software development principles, such as object-oriented programming, inheritance, and exception handling. Students will also explore related tools and techniques used by many professional software developers, including version control, unit testing and development methodologies.

Credits

3 Credits

Semester Contact Hours Lecture

45

Prerequisite

CISW 125

CISW 126Intermediate Programming*

Please note: This is not a course syllabus. A course syllabus is unique to a particular section of a course by instructor. This curriculum guide provides general information about a course.

I. General Information

Department

Information Technology

II. Course Specification

Course Type

Program Requirement

Credit Hours Narrative

3 Credits

Semester Contact Hours Lecture

45

Prerequisite Narrative

CISW 125

Grading Method

Letter grade

Repeatable

N

III. Catalog Course Description

Students will explore a series of topics intended to introduce more complex software development principles, such as object-oriented programming, inheritance, and exception handling. Students will also explore related tools and techniques used by many professional software developers, including version control, unit testing and development methodologies.

IV. Student Learning Outcomes

Upon completion of this course, a student will be able to:

  • Demonstrate effective use of the procedural programming and code construction techniques you have learned thus far.
  • Engage and solve advanced programming tasks that grow beyond those solved in introductory programming.
  • Demonstrate the understanding and effective use of complex programming concepts. Examples: a. Object-oriented programming b. Error handling (exceptions) c. Unit testing
  • Discover and implement industry best practices and tools for creating & working with code.
  • Explore and assess best practices for modularizing code, and the use of other contributors' code.

V. Topical Outline (Course Content)

Design solutions to programming projects that demonstrate the understanding and effective use of the following programming concepts: Object-oriented programming (classes) Inheritance Exceptions Unit Testing Explore computer programming as an industry, and investigate industry best practices and tools, including: Version control (such as Git) Programming IDEs (such as JetBrains tools, Eclipse, etc.) Development methodologies (such as Agile) Functional programming Explore and assess best practices for the use of the use of common supporting libraries and code modules. These could* include: Graphical interface toolkits Environment management tools (such as virtualenv for python) Web frameworks

VI. Delivery Methodologies