-
UNIVERSITY OF DELAWARE
DEPARTMENT OF COMPUTER AND INFORMATION SCIENCES
103 SMITH HALL
PHONE 302/831-2712
- Tips for non-majors about CISC courses
Computer courses: What are the choices? What do they offer?
Who should take what?
Here is some information and suggestions.
-
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 four introductions to computer science which involve
extensive development of skill in programming.
-
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.
Audience: Some Sci & Engr 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 120 C++ for C programmers (2 cr.)
This bridging course is provided to prepare students for CISC 220.
This course is an alternative
to CISC 181 only for those students who have had
CISC 105 or CISC 106.
Any student who expects their future career
to involve some programming is especially encouraged to take computer
science through CISC 220 Data Structures.
Prerequisite: CISC 105 or CISC 106.
CISC 120 is similar to the previously offered course
CISC 135 Topics: programming language C++,
but now assumes proficiency with C or Fortran.
-
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.
Following CISC 181 or CISC 120 you are ready for the course in which you
become a real programmer:
-
CISC 220 Data Structures
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 or (CISC 120 preceeded by CISC 105 or CISC 106).
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 leasd heard
of records or structs and preferably pointers)
then you should choose CISC 181.
But if you have a definite
need for Fortran (eg. it's a requirement of your major) take CISC 106.
-
If you wish to learn programming and have no prior programming experience,
start with CISC 105.
But if you have a definite need for Fortran take CISC 106.
-
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.
-
Also, anyone with CISC 105, 106, or 181 background may take the CISC 135
courses which
provide a grounding in additional programming languages such as
ADA, Cobol, Lisp, Fortran, etc. These 135 courses are typically offered
in winter term and summer sessions.
-
CISC 101, 105, 106, 181, and 220 meet group D requirements.