Skip to content

Course Syllabus

CS 1420 Fundamental & Object-oriented Programming

  • Division: Natural Science and Math
  • Department: Computer Science & Engineering
  • Credit/Time Requirement: Credit: 4; Lecture: 4; Lab: 0
  • Prerequisites: MATH 1050 (may be taken at the same time) or higher
  • Corequisites: CS 1425
  • Semesters Offered: Fall, Spring
  • Semester Approved: Spring 2024
  • Five-Year Review Semester: Summer 2029
  • End Semester: Fall 2029
  • Optimum Class Size: 16
  • Maximum Class Size: 24

Course Description

This course considers the discipline of computing through object-oriented programming. It emphasizes problem-solving and programming. Basic principles of program design and implementation, basic data structures, recursion, and fundamental computing algorithms are introduced. It covers in a single semester the material of both CS 1400 and CS 1410 and is designed for students with prior programming experience.

Justification

This combines the typical first and second courses for students pursuing a computer science or related degree into a single semester course. It satisfies part of the recommended curriculum for computer science and software engineering majors at Snow College.

Student Learning Outcomes

  1. Students will know the basic data types, control structures, and programming approaches for a current programming language.
  2. Students will be able to solve problems by developing algorithms and implementing those algorithms using a current programming language.
  3. Students will know some basic data structures, basic software methodologies, and machine level representation of data.
  4. Students will be able to apply appropriate software design methodologies for larger programs, use appropriate data structures, and use an object-oriented language.

Course Content

The following topics will be covered in this course: Introduction to computers and programming; Data representation; Control structures; Functions; Arrays; Encapsulation; Inheritance; Polymorphism; Exception handling; Basic data structures; Recursion; and the software development process.