Comparison of Introductory Computer Science Courses




Introduction


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 CS160 satisfies degree requirements in Computer Science and is a prerequisite for subsequent computer science courses (e.g., CS161: Object-oriented Problem Solving).

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

CS155, CS156, and CS157 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.




CS110: Personal Computing


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

CS110 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 CS110 course home page.




CS150: Interactive Programming with Java


The purpose of the CS150 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. CS150 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.

CS150 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 CS150 course home page.




CS155: Introduction to Unix


CS155 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 CS155 course home page.




CS156: Introduction to C Programming I


CS156 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 CS156 course home page.




CS157: Introduction to C Programming II


CS157 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 CS157 course home page.




CS160: Foundations in Programming


CS160 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 CS160 course home page.