Skip to content

Course Syllabus

Course: CS 1420

Division: Natural Science and Math
Department: Computer Science & Engineering
Title: Fundamental & Object-oriented Programming

Semester Approved: Spring 2024
Five-Year Review Semester: Summer 2029
End Semester: Fall 2029

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

Semesters Offered: Fall, Spring
Credit/Time Requirement: Credit: 4; Lecture: 4; Lab: 0

Prerequisites: MATH 1050 (may be taken at the same time) or higher

Corequisites: CS 1425


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:
Students will know the basic data types, control structures, and programming approaches for a current programming language. They will demonstrate this on homework, exams, and (optionally) quizzes.

Students will be able to solve problems by developing algorithms and implementing those algorithms using a current programming language. They will demonstrate this by developing solutions to programming challenges assigned as homework and/or via a cumulative project.

Students will know some basic data structures, basic software methodologies, and machine level representation of data. They will demonstrate this on homework, exams, and (optionally) quizzes.

Students will be able to apply appropriate software design methodologies for larger programs, use appropriate data structures, and use an object-oriented language. They will demonstrate this by developing solutions to programming challenges assigned as homework and/or via a cumulative project.


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.The course emphasizes the relevance of these skills to a wide diversity of personal and professional pursuits and makes an effort to highlight contributions made by those from diverse demographics.

Key Performance Indicators:
Homework 10 to 50%

Quizzes 0 to 20%

Exams 10 to 60%

Cumulative Project/Exam 10 to 40%


Representative Text and/or Supplies:
RB Whitaker, The C# Players' Guide, Current Edition.


Pedagogy Statement:
This course is presented in a way to highlight the value of our individual talents and backgrounds and to encourage an inclusive approach to teamwork and problem solving. Teaching methods include approaches such as in-class demonstrations, class discussion, group-work, and hands-on application via programming exercises.

Instructional Mediums:
Lecture

Online

Maximum Class Size: 24
Optimum Class Size: 16