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.
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
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