CISC undergraduate courses 100-400 level

CISC 101 PRINCIPLES OF COMPUTING

3 credits
Introduces students to the central ideas of computing and computer science including programs, algorithms, abstraction, the internet, and information systems. Instills ideas and practices of computational thinking and engages students in activities that show how computing and computer science change the world. Explores computing as a creative activity and empowers students to apply
computational thinking to all disciplines including the arts, humanities, business, social and physical sciences, health, and entertainment.

RESTRICTIONS: Does not count toward graduation if taken after any other CISC course. Not open to students with credit for MISY160 or 260, or FREC135.

 

CISC 103 INTRODUCTION TO COMPUTER SCIENCE WITH WEB APPLICATIONS

3 credits
Principles of computer science illustrated through programming in scripting languages such as JavaScript and VBScript. Topics include control structures, arrays, functions, and procedures. Programming projects illustrate web-based applications.

RESTRICTIONS: Open to non-majors. Student may not receive credit for CISC103 after receiving credit for CISC106 or CISC108.

 

CISC 106 GENERAL COMPUTER SCIENCE FOR ENGINEERS

3 credits
Principles of computer science illustrated and applied through programming in a general-purpose language. Programming projects illustrate computational problems, styles, and issues that arise in engineering.

COREQ: MATH241 or any higher level MATH course. RESTRICTIONS: Student may not receive credit for both CISC106 and CISC108.

 

CISC 108 INTRODUCTION TO COMPUTER SCIENCE I

3 credits
Computing and principles of programming with an emphasis on systematic program design. Topics include functional programming, data abstraction, procedural abstraction, use of control and state, recursion, testing, and object-oriented programming concepts. Requires no prior programming experience, open to any major, but intended primarily for majors and minors in computer science or mathematics.

COREQ: MATH115, MATH117, or higher math course or math placement.

RESTRICTIONS: Student may not receive credit for both CISC106 and CISC108.

 

CISC 181 INTRODUCTION TO COMPUTER SCIENCE II

3 credits
Principles of computer science illustrated and applied through programming in an object oriented language. Programming projects illustrate computational problems, styles and issues that arise in computer systems development and in all application areas of computation.

PREREQ: Grade of C- or better in CISC108 or CISC106. COREQ: MATH221, MATH241, or a higher level math course or math placement.

 

CISC 210 INTRODUCTION TO SYSTEMS PROGRAMMING

3 credits
Principles of computer systems programming for software and hardware platforms to achieve efficient resource usage. Topics include the C programming language, memory management, and awareness of system constraints and interfacing. Projects include programming embedded systems and interactive objects.

PREREQ: Grade of C- or better in CISC106 or CISC108. COREQ: MATH221, MATH241, or a higher level math course or math placement.

 

CISC 220 DATA STRUCTURES

3 credits
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. COREQ: MATH210 or MATH241.

 

CISC 250 BUSINESS TELECOMMUNICATION NETWORKS

3 credits
Examines technologies of information transmission currently utilized in the business environments and the implications of these technologies upon the development and implementation of information systems. Provides a basic background in the convergence of voice, data and video services into common
digital networks. Security issues also considered.

PREREQ: CISC181. RESTRICTIONS: Degree credit will not be given for both CISC250 and CISC450.

 

CISC 260 MACHINE ORGANIZATION AND ASSEMBLY LANGUAGE

3 credits
Introduction to the basics of machine organization. Programming tools and techniques at the machine and assembly levels. Assembly language programming and computer arithmetic techniques.

PREREQ: A minimum grade of C- in CISC181.

 

CISC 275 INTRODUCTION TO SOFTWARE ENGINEERING

3 credits
Object oriented software design and development through use of the Java programming language. Topics include team programming, design patterns, graphical user interfaces, software engineering tools (eg., integrated development environments, version control, build management, bug tracking, automated
testing).

PREREQ: Minimum grade of C- in CISC220.

 

CISC 303 AUTOMATA THEORY

3 credits
Automata and formal language theory. Background for advanced applications in compilers, computer networks, operating systems, and natural language processing. Finite automata and regular languages. Push down automata and context free grammars. Turing machines.

PREREQ: A minimum grade of C- in both MATH210 and CISC220.

 

CISC 304 LOGIC AND PROGRAMMING

3 credits
Propositional and predicate logic for general reasoning and advanced applications
in knowledge representation in artificial intelligence and database, program
correctness and programming semantics. Models, resolution, logic programming,
and natural deduction.

PREREQ: CISC220, MATH210 (with minimum C- grade in both).

 

CISC 320 INTRODUCTION TO ALGORITHMS

3 credits
Design and analysis of algorithms: worst/average case analysis, proofs for correctness and performance of algorithms. Algorithmic strategies (divide and conquer, greedy methods, dynamic programming, etc.). Algorithms for searching, forming and traversal of strings, trees and graphs. Categorization of computational problems: classes P and NP. NP completeness.

PREREQ: MATH210 and a minimum grade of C- in CISC220.

 

CISC 355 COMPUTERS, ETHICS AND SOCIETY

3 credits
Explains relationships among information technology, society and ethics by examining issues raised by increasingly widespread use of computers. Topics include ethics for computer professionals, computer impact on factory work, office work, personal privacy and social power distribution.

RESTRICTIONS: Cannot be used as a technical elective for CISC majors or minors.

 

CISC 356 INTELLECTUAL PROPERTY IN THE DIGITAL AGE

3 credits
Explore economic, philosophical, social, and technical approaches to intellectual property (1500 BCE to present) then will research contemporary IP issues in software, entertainment, the Internet, and biotechnology.

RESTRICTIONS: Junior or Senior standing. Cannot be used as a technical elective for CISC majors or minors.

 

CISC 360 COMPUTER ARCHITECTURE

3 credits
Principles and techniques used in the architecture of digital computers. Machine elements and their interrelation. Instruction sets, risc vs cisc, registers, busses and switches.

PREREQ: A minimum grade of C- in CISC220 and CISC260 (or equivalent courses).

 

CISC 361 OPERATING SYSTEMS

3 credits
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. CPEG222 may be substituted for CISC260. RESTRICTIONS: CISC360 recommended as a prerequisite.

 

CISC 364 SYSTEM SECURITY

3 credits
Concepts in maintaining a secure network of computers connected to the
Internet. Topics include information security, classic/common exploits of
operating system and networking weaknesses (e.g., buffer overflows, denial of
service) and how to prevent them, symmetric and public-key cryptography, digital
signatures, wireless LAN security, and firewalls.

PREREQ: CISC361

 

CISC 366 INDEPENDENT STUDY

1-6 credits

3 credits

 

CISC 372 PARALLEL PROGRAMMING

3 credits
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.

PREREQ: CISC220

 

CISC 374 EDUCATIONAL GAME DEVELOPMENT

3 credits
Experience the software engineering process through creating educational games for youth; open-ended, project-oriented team learning while assisting regional teachers in integrating computing and computational thinking into the classroom; interact with teachers as clients, hone communication skills and experience design-studio-based critiques of your ideas.

PREREQ: CISC 220.

 

CISC 401 ELEMENTS OF THE THEORY OF COMPUTATION

3 credits
General models of computation, formal languages and automata theory and algorithmic unsolvability.

PREREQ: CISC303 RESTRICTIONS: Credit cannot be received for both CISC401 and CISC601.

 

CISC 404 LOGIC IN COMPUTER SCIENCE

3 credits
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: CISC304. RESTRICTIONS: Credit cannot be received for both CISC404 and CISC604.

 

CISC 409 TOPICS IN THEORETICAL COMPUTER SCIENCE

3 credits
Contents vary to coincide with the interests of students and current faculty.

PREREQ: CISC401 RESTRICTIONS: Credit cannot be received for both CISC409 and CISC609.

 

CISC 410 INTRODUCTION TO NUMERICAL ANALYSIS & ALGORITHMIC COMPUTATION

3 credits
Direct and iterative methods for solution of algebraic equations and systems of
linear equations, matrix inversion, pseudo-inverses, algebraic eigenvalue
problems, linear least-square problems and nonlinear equations. Stresses both
numerical analysis and algorithmic aspects.

Crosslisted with MATH426. PREREQ: MATH349 or MATH341 or MATH351; and CISC106 or CISC108. RESTRICTIONS: Requires familiarity with computing (e.g., programming language).

 

CISC 411 ALGORITHMIC AND NUMERICAL SOLUTION OF DIFFERENTIAL EQUATIONS

3 credits
Algorithms for numerical integration and differentiation. Initial value problems; boundary value problems in ordinary differential equations; finite difference (explicit and implicit) methods; polynomial and spline approximation; finite elements and collocation; and introduction to numerical methods for partial differential equations.

Crosslisted with MATH428. PREREQ: MATH426 or CISC410

 

CISC 414 FORMAL METHODS IN SOFTWARE ENGINEERING

3 credits
Formal approaches to the specification, verification, and design of software systems. Topics include representing programs as transition systems; liveness and safety properties; state space reachability; explicit, symbolic and automata-based model checking; temporal logics; symbolic execution; automated theorem-proving; and relational calculus. Learn to use state-of-the-art tools based on these methods, such as the model checker Spin.

PREREQ: CISC304 or equivalent course, or permission of instructor.

RESTRICTIONS: Credit cannot be received for both CISC614/CPEG614 and CISC414.

 

CISC 429 TOPICS IN ALGORITHMS AND COMPLEXITY THEORY

3 credits

Contents vary to coincide with the interests of students and current faculty.

RESTRICTIONS: Credit cannot be received for both CISC429 and CISC629.

 

CISC 436 BIOINFORMATICS

3 credits
Concepts, methodologies, and tools in bioinformatics. Abstraction of biological problems for computational solutions. Genome sequencing and assembly, biosequence analysis and comparison and database search, dynamics programming, hidden Markov models, and phylogenetic trees.

PREREQ: CISC220 or permission of instructor.

 

CISC 437 DATABASE SYSTEMS

3 credits
Physical and logical organization of databases. Data retrieval languages, relational database languages, security and integrity, concurrency, distributed databases.

PREREQ: A minimum grade of C- in CISC220. RESTRICTIONS: Credit cannot be received for both CISC437 and CISC637.

 

CISC 440 COMPUTER GRAPHICS

3 credits
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 442 INTRODUCTION TO COMPUTER VISION

3 credits
Analysis of images and video to recognize, reconstruct, model, and otherwise infer
static and dynamic properties of objects in the three-dimensional world.
Geometry of image formation; image processing such as smoothing, edge and
feature detection, color, and texture; segmentation; shape representation
including deformable templates; stereo vision; motion estimation and tracking;
techniques for 3-D reconstruction; image registration methods.

PREREQ: CISC220. RESTRICTIONS: Credit cannot be received for both CISC442 and CISC642.

 

CISC 450 COMPUTER NETWORKS I

3 credits
Foundation principles, architectures and techniques employed in computer and
communication networks. Focuses on mechanisms used in TCP/IP protocol suite.
Topics include connection management, end-to-end reliable data transfer, sliding
window protocols, quality of service, flow control, congestion control, routing,
LANs, framing, error control, analog versus digital transmission, packet versus
circuit switching, multiplexing.

May be crosslisted with CPEG419. PREREQ: CISC260 or CPEG222.

RESTRICTIONS: Knowledge of probability and statistics recommended. Credit cannot be received for both CISC450 and any of the following courses: CISC250, CPEG419, CISC650, ELEG651.

 

CISC 451 DATA COMPRESSION IN MULTIMEDIA

3 credits
Important approaches to data and multimedia compression. Lossless techniques: Huffman, dictionary, arithmetic, run length. Lossless applications: GIF, lossless JPEG, Unix compress, facsimile. Lossy techniques: scalar/vector quantization, differential/subband/transform/wavelet encoding. Lossy applications: JPEG, JPEG200, MPEG, MP3.

PREREQ: CISC220, MATH210, MATH241, and either MATH205 or MATH350.

 

CISC 452 TELECOMMUNICATIONS SYSTEMS

3 credits
Presents basic concepts in telecommunications, emphasizing topics such as SONET, Cell and Frame Relay and multimedia switching. Concepts of operation and maintenance of large communications networks discussed.

PREREQ: CISC250, or CISC450 RESTRICTIONS: Open to CIS and EE majors and minors only.

 

CISC 453 SIMULATION OF COMPUTER NETWORKS

3 credits
Modeling and computer simulation of discrete systems using discrete event simulation techniques. Application to the performance evaluation and modeling of computer networks and networking protocols. Study and use of simulation systems such as OPNET, Qualnet, and ns-2.

PREREQ: CISC450, or equivalent.

 

CISC 458 APPLIED COMPUTER NETWORKS

3 credits
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

3 credits
Contents vary to coincide with the interests of students and current faculty.

PREREQ: CISC450. RESTRICTIONS: Credit cannot be received for both CISC459 and CISC659.

 

CISC 464 INTRODUCTION TO NETWORK SECURITY

3 credits
Practical introduction to network security field. Covers material on cryptography, intrusions, denial-of-service attacks, worms, honeynets and other hot topics in network security.

PREREQ: CISC450 or equivalent.

 

CISC 466 INDEPENDENT STUDY

3 credits

 

CISC 470 PROGRAMMING LANGUAGES

3 credits
Selection, use and implementation of appropriate language(s) for given problems. Syntax, semantics, pragmatics, parameter passing, abstract data types and comparisons between languages.

PREREQ: CISC275 RESTRICTIONS: Credit cannot be received for both CISC470 and CISC670.

 

CISC 471 COMPILER DESIGN

3 credits
Introduction to the design and implementation of compilers, with a focus on lexical analysis, parsing and syntax directed translation.

PREREQ: CISC260 and CISC303

 

CISC 473 COMPUTER SCIENCE PROJECTS

3 credits
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 474 ADVANCED WEB TECHNOLOGIES

3 credits
Programming and architecture of web servers and the technologies for implementing high performance, sophisticated web sites for applications like e-commerce. Students learn how to install and set-up a web server, how to write and install programs for a web server, and how to design and implement multi-tier client/server applications with database backends.

PREREQ: CISC275 COREQ: CISC437

 

CISC 475 ADVANCED SOFTWARE ENGINEERING

3 credits
Understand and apply a complete modern software engineering process. Topics
include requirements analysis, specification, design, implementation, verification,
and project management. Real-life team projects cover all aspects of the software
development lifecycle, from the requirements to acceptance testing.

PREREQ: CISC275. CISC361 is recommended. RESTRICTIONS: Senior status. Credit cannot be received for both CISC475 and CISC675.

 

CISC 449 TOPICS IN COMPUTER APPLICATIONS

3 credits
Contents will vary to coincide with the interests of students and current faculty.

RESTRICTIONS: Credit cannot be received for both CISC449 and CISC649.

 

CISC 477 SYSTEMS ADMINISTRATION

3 credits
Introduces students to the internals of UNIX, trouble-shooting system and network problems, hardware and software configuration and installation, and security aspects of hosts on the internet. Multi-operating system integration will also be discusssed.

PREREQ: CISC361

 

CISC 479 TOPICS IN ARCHITECTURE AND SOFTWARE

3 credits
Contents will vary to coincide with the interests of students and faculty.

PREREQ: CISC361. RESTRICTIONS: Credit cannot be received for both CISC479 and CISC679.

 

CISC 481 ARTIFICIAL INTELLIGENCE

3 credits
Programming techniques for problems not amenable to algorithmic solutions. Problem formulation, search strategies, state spaces, applications of logic, knowledge representation, planning and application areas.

May be crosslisted with CGSC481. PREREQ: CISC220 with a minimum grade of C-, CISC304. RESTRICTIONS: Credit cannot be received for both CISC481 and CISC681.

 

CISC 483 INTRODUCTION TO DATA MINING

3 credits
Concepts, techniques, and algorithms for mining large data sets to discover
structural patterns that can be used to make subsequent predictions. Emphasis on
practical approaches and empirical evaluation. Use of a workbench of data mining
tools, such as the Weka toolkit.

PREREQ: CISC-275, or permission of instructor.

 

CISC 489 TOPICS: ARTIFICIAL INTELLIGENCE

3 credits
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.
600 level courses may be taken honors credit.

 

CISC 498 COMPUTER SCIENCE SENIOR DESIGN PROJECT I

3 credits
Apply a complete modern software engineering process. Activities include requirements analysis, specification, design, implementation, verification, and project management. Real-life team projects with a client cover all aspects of the software development life-cycle, from the requirements to acceptance testing. This is the first semester of a two-semester sequence.

PREREQ: CISC275 and CISC320.

 

CISC 499 COMPUTER SCIENCE SENIOR DESIGN PROJECT II

3 credits
Continuation of CISC498

PREREQ: CISC498