| Info
for Non-Majors about CIS Courses
Courses:
The Computer Science Department offers a wide range of courses for an
equally wide range of students who desire different levels of understanding
and experience. The first course offered is an intro course to help students
gain a familiarity with computer applications:
- CISC
101 Computers, Computation, and Computer Science:
What every citizen of the 21st century should know about Computing.
What does digital mean? What do computers do? What should they do, could
they do? What are the dominant ideas used in the development of software
systems, in the appraisal of their performance, in the discussion of
the impact of computation on society? Programming is discussed and illustrated,
as are dominant types of software tools (word processors, databases,
spreadsheets, operating systems, programming languages), but there is
no emphasis on building any particular skill in the use of currently
popular tools.
Intended audience: Everyone except those who will learn this material
through more advanced CS courses. Non CS majors only.
Then we offer
introductions to computer science which involve extensive development
of skill in programming:
- CISC
103 Introduction to Computer Science with Web Applications: (3 credits)
Principles of computer science illustrated and applied through programming
in the high level language, JavaScript. Programming projects illustrate computational
problems, styles, and issues that arise in the design of web applications.
Audience: MIS program students.
- CISC
105 General Computer Science: (3 credits)
Principles of computer science illustrated and applied through programming
in the high level language, C. Programming projects illustrate computational
problems, styles, and issues that arise in the design of computer applications.
Audience: Students who want to learn programming and do not have
prior programming experience. C is the dominant language of systems
development on Unix platforms and PC's.
- CISC
106 General Computer Science for Engineers: (3 credits)
Principles of computer science illustrated and applied through programming
in the high level language, Fortran. Programming projects illustrate
computational problems, styles, and issues that arise in numeric computational
science and engineering.
Remark: not offered recently.
Audience: Some Science & Engineering majors who know they need Fortran.
Fortran is the dominant language of older scientific programs and of
much of current high performance (supercomputer) programming.
- CISC
181 Introduction to Computer Science (3 credits)
Principles of computer science illustrated and applied through programming
in the object oriented language C++. Programming projects illustrate
computational problems, styles, and issues that arise in computer systems
development and all application areas of computation.
Audience: CS majors and those Science & Engineering majors who
intend to take additional computer science courses (at least through
CISC 220 Data Structures). Students should have had some prior programming
experience roughly equivalent to CISC 105 experience. This would include
having programmed with arrays and having at least heard of records or
structs, and preferably pointers.
Prerequisites: CISC 103, 105, 106, or equivalent experience.
Following CISC
181 you are ready for the course in which you become a real
programmer:
- CISC
220 Data Structures (3 Credits)
The key thing in programming is the organization of the data the program
manipulates. Here you learn many clever ways to go beyond the fixed
size array/record/struct family of structures for data organizing devices.
Audience: CS majors, Science and Engr majors who are serious
about computation.
Prerequisites: CISC 181.
Co-requisite: Math 210
Who Takes
What:
- If you
don't expect to get involved in computer programming per se, you should
consider CISC 101.
- If you
wish to learn programming and have some prior programming experience.
(You've taken a high school course in Pascal or Basic, say, or you've
written several programs of 10 to 100 lines, including several involving
loops and arrays - in any language. You've at least heard of records
or structs and preferably pointers) then you should choose CISC 181.
- If you
wish to learn programming and have no prior programming experience,
start with CISC 105.
- Choices
for follow-on computer science courses:
- Anyone
who will do some programming (including modification of preexisting
codes -- as often comes up for science and engineering majors) is
strongly urged to take CISC 220 Data Structures.
- Anyone
with CISC 220 under their belt, who would like still more computer
science is invited to take CISC 260 Computer Organization and/or
CISC 280 Programming Paradigms.
-
CISC 260 Computer Organization provides a view of computation
closer to the specific properties of the machine. You receive
training in assembly language programming, in which you directly
specify each instruction directly executed by the hardware.
CISC 260 and 280 offer quite a contrast. The former is concerned
with programming close to the specific computer while the latter
is concerned with problem solving at a high level of abstraction
away from the specifics of the machine.
-
CISC 280 rounds out your understanding of computation and programming
languages in important ways. It uses a version of Lisp, a language
which provides strong contrasts in its design and use to C,
C++, Fortran, Pascal, etc. Lisp is historically associated with
Artificial Intelligence programming and rapid prototyping (programs
written to demonstrate a concept, before developing the production
version). Additionally, Lisp is the user programming language
of such tools as AUTOCAD and EMACS.
- CISC
101, 103(?), 105, 106, 181, and 220 meet A&S group D requirements.
|