CS Department, Colorado State University

A Comparison of Introductory Computer Science Courses

Introduction To The Courses & Notes
Warning About Required Programming Courses
CS-110: (Personal Computing)
CS-150: (Interactive Programming with Java)
CS-155: (Introduction to Unix)
CS-156: (Introduction to C Programming I)
CS-157: (Introduction to C Programming II)
CS-160: (Foundations in Programming)


The Computer Science Department offers five introductory courses beyond Microsoft Office (taught in CS110). Each is designed for a somewhat different purpose and audience. Briefly:

Only CS-160 satisfies degree requirements in Computer Science and is a prerequisite for subsequent computer science courses (e.g., CS- 161: Object-oriented Problem Solving).

CS150 and CS160 can be applied to the ISTeC interdisciplinary program.

CS-155, CS-156, and CS-157 are three one credit modules, taught consecutively over one semester for students wishing to learn about Unix, and C programming. These courses are required in a few majors and concentrations. They do not count towards requirements in the CS major (CS students generally learn these skills in other CS courses).

Generally, these courses are offered every semester. Please note that these course descriptions are subject to change, with new courses added or modified. So check back if you plan on taking these courses later.

Below is more specific information on each of these courses. Yet more complete information can be found by accessing the course syllabi link below each course description.

Warning To Those Required to Take A Programming Course

If you are required to take a programming course and are unsure of which course will count in your major/minor, talk to your advisor. Only your advisor in your major/minor can tell you what your requirements are.

CS-110: Personal Computing

CS-110 is an introductory course in using personal computers and common PC software. The course includes: Hardware/software concepts, Internet services, OS commands, electronic presentations, spreadsheets, databases, programming concepts. No credit can be applied toward the Computer Science major.

This course is a basic computer literacy course for students who would like to learn something about how computers work, and the software most commonly used on PC's in business and everyday settings.

CS-110 is required in a number of majors, and is also popular with students who wish to acquire the hands-on basic skills of using personal computer software (Microsoft Office).

The course has no prerequisites.

Click Here for the CS-110 course home page.

CS-150: Interactive Programming with Java

The purpose of the CS-150 course is to familiarize students not intending to become computer scientists (majors or minors) with the fundamentals of Java programming, program design and problem-solving. The course is oriented towards practical skills including current Java programming technologies for Java applets, graphical user interfaces (GUIs) and basic Web pages.

The course covers the basic Java syntax and language features, compilation, interpretation, execution, class and object usage, graphical interfaces, program-user interaction, and the Java API. Problem-solving techniques and object-oriented programming are also covered.

This course is designed for students who have an interest in computer programming but no prior programming experience, who would like to learn how to create their own programs to enhance their Web pages or to perform useful personal tasks. CS-150 also provides a taste of computer programming for students who are considering computer science as a possible major, but who are not sure if they will like computer programming.

CS-150 is an optional course for the ISTeC interdisciplinary program. This course does not satisfy a degree requirement in the computer science major, but will count as a free elective (if it is taken prior to CS160).

Click Here for the CS-150 course home page.

CS-155: Introduction to Unix

CS-155 is an introductory course on the Unix operating system, covering Unix shell commands, utilities (editors, sorting, file management), shell scripting. Five week course, 1 sem. hr.

This course is either required or fulfills a requirement in several majors, notably, Physics, Mathematics, Mechanical Engineering. It is valuable for any student who will be using Unix or Linux in their school or work.

Since Computer Science majors learn these skills in the course of their major requirements, it is an elective course for CS majors. Even so, new CS majors might benefit from taking this course.

The course has no prerequisites.

Click Here for the CS-155 course home page.

CS-156: Introduction to C Programming

CS-156 is an introductory programming course in the C programming language, covering basic elements of language structure, data types, expressions, program control flow, and modularity. Five week course, 1 sem. hr.

This course is useful for students especially in the sciences and mathematics who intend to write programs to solve mathematical problems. An understanding of the Unix operating system (such as is taught in CS155) is assumed. Taken without the follow-on C programming course (CS157) this course is a basic introduction to programming methods for those who are interested in learning a bit of programming.

Computer Science majors learn the topics as part of CS270.

Click Here for the CS-156 course home page.

CS-157: Introduction to C Programming II

CS-157 is a continuation of CS156, covering more elements of the C programming language. Topics include more basic data types, function usage and strings. Arrays, user-defined types and structures, enumerated types, recursion, dynamic storage allocation. Five week course, 1 sem. hr.

This course is intended to be taken with CS156 for students in science and engineering looking for a practical knowledge of C.

Click Here for the CS-157 course home page.

CS-160: Foundations in Programming

CS-160 is the first course in the CS curriculum, starting in Fall 2006. Topics include computer theory, programming and systems. Sets, functions, logic. Procedural programming in Java. Computer and data models. This is a technical introduction to programming and mathematical concepts used in computer science.

This course is a good choice for those who have done some previous computer programming, and are good at mathematics, and who are planning to major or minor in computer science, major in Applied Computing Technology, or major in Computer Engineering.

This course covers material much more in-depth than CS150, and is probably not a good choice for students who want to learn enough useful Java programming techniques to write programs for personal use. The target audience for this course is students who intend to take more computer science courses.

Click Here for the CS-160 course home page.

Copyright © 2003-2008: Colorado State University, Computer Science Department
All rights reserved.