|
Course Descriptions
for Undergraduate Level CIS Courses
100 Level | 200 Level | 300 Level
| 400 Level
- CISC
101 Computers and Information Systems (3)
Introduces basic concepts of computer organization, terminology, usage
and discusses the impact of computers on society. It introduces word
processing, spreadsheets, databases, electronic mail, bulletin boards,
windowing systems, networks, and very simple programming, and includes
hands-on experience with computer systems and computer software.
- CISC
105 General Computer Science (3)
Information structures, machine structure, principles of computation
and algorithmic processes. Practical exercises in programming.
RESTRICTIONS: Does not count toward graduation if taken after CISC181.
- CISC
106 General Computer Science for Engineers (3)
Information structures, machine structures, principles of computation
and algorithmic processes. Numerical methods and applications from
engineering and the physical sciences.
-
CISC 120 Object Oriented Programming in C++ (3)
A bridging course for students who already know C programming (e.g.
CISC105) to move into CISC220 without taking CISC181.
PREREQ: CISC105
RESTRICTIONS: Recommended only for strong students. Other should take
CISC181. Normally only offered in Winter and Summer sessions.
- CISC
135 Topics: Programming Language (2)
Learning and using a second programming language, with an emphasis
on style. Each section will deal with one language: possibilities
include ADA, C, COBOL, FORTRAN, LISP or MODULA-2. PREREQ: CISC100,
CISC105, CISC106, CISC180, EGGG125 or BUAD230. RESTRICTIONS: A section
of CISC135 in a language and another course in which that language
is taught cannot both be counted toward graduation. Forbidden combinations:
CISC105 and CISC135 - Pascal; CISC106 and CISC135 - Fortran; CISC180
and CISC135 - Lisp; CISC181 and CISC135 - C and C++.
- CISC
181 Introduction to Computer Science (3)
More procedural and data abstractions. Program modules, arrays, pointers,
specification, representation, implementation and testing. Application
to the design of large software systems.
RESTRICTIONS: Grade of C- or better in CISC 105 or equivalent programming
experience in a high level language.
COREQ: MATH115, MATH117, MATH171, MATH221 or MATH241.
- CISC
220 Data Structures (3)
Review of data type abstraction, recursion, arrays, stacks, queues,
multiple stacks and linked lists. Emphasis on dynamic storage management,
garbage collection, trees, graphs, tables, sorting and searching.
PREREQ: A minimum grade of C- in CISC181 or CISC120.
COREQ: MATH210 or MATH242.
- CISC
260 Machine Organization and Microcomputers (3)
Introduction to the basics of machine organization. Programming tools
and techniques at the machine and assembly levels. Assembly language
programming.
PREREQ: A minimum grade of C- in CISC181 or CISC120.
RESTRICTIONS: CISC220 recommended as a Prerequisite.
- CISC
280 Program Development Techniques (3)
Structure and interpretation of computer programs. Procedural and
data abstractions (high road). Different paradigms (mind sets) that
programmers use. Procedural and functional programming, logic and
object oriented programming.
PREREQ: A minimum grade of C- in CISC220.
COREQ: MATH221 or MATH241.
- CISC
301 Elements of Logic and Automata Theory (3)
Propositional and predicate logic for general reasoning and advanced
applications in knowledge representation in artificial intelligence
and data base, logic programming, program correctness and programming
semantics. Automata and formal language theory. Background for advanced
applications in compilers, computer networks, operating systems and
natural language processing.
PREREQ: MATH210 and a minimum grade of C- in CISC220.
- CISC
310 Logic and Programming (3)
Propositional and predicate logic syntax, semantics; proof methods
based on unification and resolution; applications involving reasoning
and logic programming.
PREREQ: CISC280 and MATH315.
- CISC
320 Introduction to Algorithms (3)
Design and analysis of algorithms; worst-case/average- case analysis,
proof techniques for correctness and performance of graph algorithms,
control abstractions (divide and conquer, greedy method, branch and
bound); NP- hard and NP-complete problems.
PREREQ: MATH210 and a minimum grade of C- in CISC220.
- CISC
360 Computer Architecture (3)
Principles and techniques used in the architecture of digital computers.
Machine elements and their interrelation. Stack machines and other
computer architectures.
PREREQ: CPEG202 or ELEG202 or CPEG210 and CPEG211, and a minimum grade
of C- in both CISC220 and CISC260 (or equivalent course).
- CISC
361 Operating Systems (3)
Principles and techniques employed in the development of operating
systems and their control programs. Includes management of memory,
processors, I/O devices.
PREREQ: A minimum grade
of C- in both CISC220 and CISC260 (or equivalent course).
RESTRICTIONS: CISC360 recommended as a Prerequisite.
- CISC
366 Independent Study (3-6)
- CISC
370 Object-Oriented Programming, Java, and the World Wide Web
Study of object-oriented programming through the use of the Java programming
language. Applications for the World Wide Web (WWW) will be carried
out.
PREREQ: CISC181 and CISC220
- CISC
372 Parallel Programming (3)
Introduction to parallel programming concepts, methodologies, and
tools. Programming techniques for programs that contain code segments
which will run simultaneously on multiple processors. Topics include:
concurrency, program decomposition, data distribution, communication,
load balancing, scalability, locality, granularity, debugging, performance
evaluation.
PREREQS: CISC220
- CISC
401 Elements of the Theory of Computation (3)
General models of computation, formal languages and automata theory,
and algorithmic insolvability.
PREREQ: CISC301 or CISC310
RESTRICTIONS: Credit can only be received for either CISC401 or CISC601.
- CISC
403 Program Verification (3)
Structured design, specification and verification of programs, proof
rules.
PREREQ: CISC301 or CISC310
RESTRICTIONS: Credit cannot be received for both CISC403 and CISC603.
- CISC
404 Logic in Computer Science (3)
Formal introduction to first-order logic with emphasis on its relevance
to computer science. Syntax, semantics, models, formal proofs and
results on soundness, consistency, completeness, compactness and undecidability.
Automated theorem proving also covered.
PREREQ: CISC301 or CISC310.
RESTRICTIONS: Credit cannot be received for both CISC404 and CISC604.
- CISC
409 Topics in Theoretical Computer Science (3)
Contents vary to coincide with the interests of students and current
faculty.
PREREQ: CISC401/601.
RESTRICTIONS: Credit cannot be received for both CISC409 and CISC609.
- CISC
410 Introduction to Numerical Analysis and Algorithmic Computation
(3)
See MATH426 for course description.
- CISC
411 Algorithmic and Numerical Solution of Differential Equations (3)
See MATH428 for course description.
- CISC
423 Applied Symbolic Computation (3)
Introduction to one or more computer algebra systems, algebraic computation
applied to problems in applied mathematics, and individual student
projects using symbolic computation to solve a problem from student's
own discipline. May be cross-listed with MATH613.
RESTRICTIONS: Credit cannot be received for both CISC423 and CISC623.
- CISC
427 Computer Simulation Techniques (3)
Modeling and computer stimulation of discrete and continuous systems
- those characterized by stochastic discrete events and those characterized
by differential equations. Study and use of simulation languages.
PREREQ: CISC220.
RESTRICTIONS: MATH302 is recommended as a Prerequisite. A student
cannot receive credit for both CISC426 and CISC626.
- CISC
429 Topics in Algorithms and Complexity Theory (3)
Contents vary to coincide with the interests of students and current
faculty.
RESTRICTIONS: Credit cannot be received for both CISC429 and CISC629.
- CISC
437 Database Systems (3)
Physical and logical organization of databases. Data retrieval languages,
relational database languages, security and integrity, concurrency,
distributed databases.
PREREQ: CISC220,and either CISC301 or CISC310.
RESTRICTIONS: Credit cannot be received for both CISC437 and CISC637.
- CISC
440 Computer Graphics (3)
Computer graphics technology, two- and three-dimensional systems,
graphics software systems, modeling and object hierarchy, and animation.
PREREQ: CISC220 and MATH241
RESTRICTIONS: CISC320 recommended. Credit cannot be received for both
CISC440 and CISC640.
- CISC
449 Topics in Computer Applications (3)
Contents will vary to coincide with the interests of students and
current faculty.
RESTRICTIONS: Credit cannot be received for both CISC449 and CISC649.
- CISC
450 Computer Networks (3)
Introduction to local area and long haul computer communication networks.
Analysis, design and implementation of network protocols.
PREREQ: CISC301 or CISC310, CISC360 and MATH205 or STAT205
COREQ: CISC361
RESTRICTIONS: Knowledge of probability recommended. Credit cannot
be received for both CISC450 and CISC650.
- CISC
451 Data Compression and Reliability in Multimedia (3)
Important approaches to data and multimedia compression. Lossless
technique: Huffman, dictionary, arithmetic, fun length. Lossless applications:
GIF, lossless JPEG, Unix compress, gzip. Lossy techniques: scalar/vector
quantization, differential/subband/transform encoding. Lossy applications:
JPEG/MPEG.
PREREQ: MATH242, STAT201, and CISC450.
- CISC
452 Telecommunications Systems (3)
Presents basic concepts in telecommunications, emphasizing topics
such as SONET, Cell and Frame Relay and multimedia switching. Concepts
of the operation and maintenance of large communications networks
are discussed.
PREREQ: CISC450 or CPEG419.
RESTRICTIONS: Restricted to CISC and ELEG/CPEG majors and minors
- CISC
458 Applied Computer Networks (3)
Principles of communications as they apply to computer networks. Includes
advanced concepts of network design, construction, and management.
PREREQ: CISC450.
- CISC
459 Topics in Communications, Distributed Computing and Networks.
(3)
Contents vary to coincide with the interests of students and current
faculty.
PREREQ: CISC450/650
RESTRICTIONS: Credit cannot be received for both CISC459 and CISC659.
- CISC
462 Computer Systems: Architecture (3)
Recent advances in computer architecture and their impact on architectural
design. Multicomputer and multiprocessor architectures. Parallel machines.
PREREQ: CISC360 and MATH205 or STAT205
RESTRICTIONS: Credit cannot be received for both CISC462 and CISC662.
- CISC
466 Independent Study (1-6)
- CISC
470 Programming Languages (3)
Selection, use and implementation of appropriate language(s) for given
problems. Syntax, semantics, pragmatics, parameter passing and abstract
data types.
PREREQ: CIS301 or CISC310
RESTRICTIONS: Credit cannot be received for both CISC470 and CISC670.
- CISC
471 Compiler Design (3)
Introduction to the design and implementation of compilers, with a
focus on lexical analysis, parsing and syntax directed translation.
PREREQ: CISC260 and either CISC301 or CISC310.
- CISC
473 Computer Science Projects (3)
Experimental, theoretical and literature studies of computer science
problems.
RESTRICTIONS: Open to majors only. Requires permission of instructor.
May be taken twice for credit when topics vary.
- CISC
475 Object-oriented Software Engineering (3)
Introduction to software engineering concepts, methodologies and tools.
Requirement analysis, design and implementation of object-oriented
software development process. Students will be presented with several
real-life examples and homework projects to cover all aspects of object-oriented
lifecycle, from requirements to coding in C++.
PREREQ: A minimum grade of C- in CISC280
RESTRICTIONS: Credit cannot be received for both CISC475 and CISC675.
CISC361 is recommended.
- CISC
479 Topics in Architecture and Software (3)
Contents will vary to coincide with the interests of students and
faculty.
PREREQ: CISC361 and CISC462.
RESTRICTIONS: Credit cannot be received for both CISC479 and CISC679.
- CISC
481 Artificial Intelligence (3)
Programming techniques for problems not amenable to algorithmic solutions.
Problem formulating search strategies, state spaces, applications
of logic, knowledge representation, planning and application areas.
PREREQ: CISC280 and either CISC301 or CISC310.
RESTRICTIONS: Credit cannot be received for both CISC481 and CISC681.
- CISC
485 Mechatronics (3)
Mechatronics is the intersection set of computers, electronics and
mechanical engineering. Covers principles and theoretical aspects
of mechatronic design, including human/machine interfacing, haptic
systems, procedures in mechatronic design, reverse engineering, machine
behaviors, and mechatronic control systems.
RESTRICTIONS: Credit cannot be received for both CISC485 and CISC685.
- CISC
489 Topics: Artificial Intelligence (3)
Contents vary to coincide with the interests of students and current
faculty.
PREREQ: CISC481/681.
RESTRICTIONS: Credit cannot be received for both CISC489 and CISC689.
|