CS 1160

Catalog Description

An introduction to computers, problem solving, algorithms and program design. Use of University computing facilities. Programming done in C++. Topics include control structures, arrays, functions, input and output.

Prerequisite:

Math 1300 or equivalent; students with no computer experience are encouraged to take CS 1020 as preparation for the course.

Most important:

Students learn to design, write, test simple programs in the C++ language. They must be familiar with:

  • standard data types and control structures
  • use of functions
  • good program design practices and programming style
  • text files for input
  • arrays
  • parameter passing methods: value and reference
  • adequate tests of program correctness
  • C++ libraries (i/o, math, strings)

Beyond this, it is desirable to introduce the object paradigm and the use of classes.

Topics:

Computers:

what are they? overview of uses.

Operating systems:

commands necessary to use a computer Building software and the object paradigm Simple programs, using input, output, assignments. Expressions and types Precedence of the standard operators

Control structures:

if, switch, while, for

Program style considerations:

writing readable programs Testing and debugging techniques

Arrays:

declaration, use, programs, dangers in use of Functions, parameter passing (value, reference, const parameters) Classes: why use, how to use, project using a given class Files for input and output

Arrays:

how and when to use, arrays as parameters, etc

Standard classes:

vectors and strings (use these in 1160; analyze the code in classes in 2360)

Throughout the course, students should be learning:

Algorithm design and problem solving techniques: how to understand what the problem is, how to break it into manageable parts, and how to organize those parts and translate them into code. What is an object and why OOP is a good approach.

Ethical uses of the computer: legal and moral implications of various uses of the computer.

Good (English) writing style in documenting all programs.

Course will cover as much use of the machines in computer science as possible. Must cover an operating system (Unix or Windows)for programs. May also cover email and other commands.

Course includes laboratory experiences in the School of Science Computer Lab (orientations, supervised and independent experiences)

Texts:

Cohoon and Davidson, C++ Dale, Weems, Headington, Programming and Problem Solving with C++ Adams, Leestma, Nyhoff: ... C++ ...

CS 2360 Programming Methods and Intro to Software Engineering (4) 2005

Catalog Description