ITCS 1101. Introduction to Computer
Concepts. (3)
Prerequisite or co-requisite: MATH 1100 OR MATH 1101 OR MATH
1103 OR MATH 1120 OR MATH 1241. Introductory course that gives
an overview of computer hardware and software. Primary emphasis
is on productivity software (word processing, spreadsheet, and
graphical presentation). These applications are taught through
a series of projects/assignments. Aspects of Internet research
are also covered. (Fall, Spring, Summer) (Internet)
ITCS
1102: Advanced Internet Concepts. (3)
Prerequisite: ITCS 1101. This course is an advanced
study of the Internet environment. This course is designed for
any student who is familiar with office productivity tools and a
user of Internet technologies; it addresses advanced concepts of
computer literacy. Topics include: concepts of website design
and how to evaluate websites; proper use of synchronous and
asynchronous communication tools (e.g. chat, email, IM…); issues
of copyright and cyber-ethics; using the Internet to do
research; and publishing via the Internet. Other topics may be
added to keep the content current and relevant. Students will
complete extensive Internet oriented projects to demonstrate
mastery of the skills discussed in class. (Fall, Spring)
ITCS 1200. Freshman Seminar (3)
Crosslisted as
ITIS 1200. Prerequisite: permission of department. An
introductory Information Technology course designed to assist
students with the transition to college by acquainting them with
the University’s resources and support, exploring opportunities
in the IT field, and developing a strong sense of community
within the College of IT and the University as a whole. The
development of learning skills, time management skills, and
other life skills necessary for college success will be
emphasized. (Fall)
ITCS 1214. Introduction
to Computer Science. (3)
Prerequisite or
co-requisite:
MATH 0900 or MATH 1100 or MATH
1103 or MATH 1120 or MATH 1241.
Introduction to algorithmic problem solving
strategies and algorithm development; basic
concepts and terminology of computers; study
of data representation and number systems;
use of computers to implement numerical and
symbolic algorithms. General programming
concepts will be taught through the use of a
high level language. (Fall, Spring,
Summer) (Evenings) (Internet)
ITCS 1215. Introduction to Computer Science II. (3)
Prerequisite: ITCS 1214 with a grade of C or better, or
permission of the Department. An advanced study of programming
based on object oriented concepts. Extends the fundamentals
studied in ITCS 1214. Includes a study of software design tools
and advanced programming constructs, such as UML diagrams,
decision tables, recursion, and dynamic storage allocation.
Concepts are taught be means of an in-depth study of an object
oriented language. (Fall, Spring, Summer) (Evenings)
(Internet)
ITCS 2050. Topics in Computer Science.
(1-3)
Prerequisite: Consent of the Department. Topics in computer
science selected to supplement the regular course offerings at
the 2000 level. (May be repeated for credit with the consent of
the Department. A student may register for multiple sections of
the course with different topics in the same semester or in
different semesters.) (On demand)
ITCS 2116. C
Programming. (3)
Prerequisite:
Knowledge of any other computer programming language or consent
of the Department. A study of the programming language C. Data
types, operators, functions, program structure, file I/O,
storage classes, exceptions, concurrent programming, and the
preprocessor. (Summer) (Evenings)
ITCS 2163.
Introduction to File Processing. (3) Prerequisite: ITCS 1215. Concepts and techniques of structuring data on
external storage devices; provides the foundation for
applications of data structures and file processing techniques.
(Fall, Summer) (Evenings)
ITCS 2181. Computer Logic and Design.
(3)
Prerequisite: ITCS 1214 or consent of the
Department. Logic design; logic circuits; state diagrams;
Karnaugh maps; memories; tristate devices; bus structures; and
data control concepts. (Fall, Spring, Summer) (Evenings)
ITCS 2214. Data Structures. (3)
Prerequisite:
ITCS 1215 with a grade of C or better, or permission of the
Department. A study of the theory and implementation of
abstract data types (ADTs) including stacks, queues, and both
general purpose and specialized trees and graphs. Programming
emphasis is on the use of an object-oriented language to
implement algorithms related to the various data structures
studied including creation, searching, and traversal of ADTs.
(Fall, Spring, Summer) (Evenings) (Internet)
ITCS 2215.
Design and Analysis of Algorithms.
(3)
Prerequisites: (MATH 1120 OR MATH 1241) AND MATH 1165 AND ITCS
2214. Introduction to the design and analysis of
algorithms. Design techniques: divide-and-conquer, greedy
approach, dynamic programming. Algorithm analysis: asymptotic
notation, recurrence relation, time space complexity and
tradeoffs. Study of sorting, searching, hashing, and graph
algorithms. (Fall, Spring, Summer) (Evenings)
ITCS 2231.
Introduction to Business Programming. (3)
Crosslisted as
INFO 2231. Pre/co-requisite: INFO 2130 or consent of the
Department. This course focuses on the examination of business
problems, the extraction of the logic and business rules, and
the relationship between business logic, programming constructs
and technologies for decision support. (Fall, Spring,
Summer)
ITCS 3050. Topics in Computer Science.
(1-3)
Prerequisite: Consent of the Department. Topics in computer
science selected to supplement the regular course offerings at
the 3000 level. (May be repeated for credit with the consent of
the Department. A student may register for multiple sections of
the course with different topics in the same semester or in
different semesters.) (On demand)
ITCS 3110.
Compiler Construction. (3)
Prerequisites: ITCS 2215. Review of programming language
structures, translation, loading, execution, and storage
allocation. Compilation of simple expressions and statements.
Organization of a compiler, including compile‑time and run‑time
tables, lexical scan, syntax scan, object code generation, error
diagnostics, object code optimization techniques, and overall
design. Use of compiler writing languages and boot strapping.
(Spring, Alternate years) (Evenings)
ITCS 3112. Design and Implementation of Object-Oriented
Systems. (3)
Prerequisite:
ITCS 2215. In-depth
exploration of object-oriented programming and system
development. Topics include: evolution of object-oriented
methodology; concept of the object-oriented approach;
object-oriented programming languages; object-oriented analysis
and design; the design of software for reuse; and incremental
software development. (Spring) (Evenings)
ITCS 3123. Introduction to Numerical Methods. (3)
Prerequisites:
ITCS 2214 AND (MATH 1241 or MATH 1120). General concepts of
scientific computing and their applications to such areas as
non-linear equations, numerical integration, spline
and polynomial interpolation, and initial
value problems. (On demand)
ITCS 3134.
Digital Image Processing. (3) Prerequisites: ITCS 2214, MATH 1242, and MATH 2164, with
grades of C or better. Overview of fundamentals of image
acquisition, representation, enhancement, segmentation,
reconstruction, analysis and recognition. Image generation,
viewing and perception; image transformations using the Fourier
transform; spatial operations and filtering (spatial and
frequency domain); image coding; lossless and lossy compression;
boundary and region based segmentation; thresholding and
classification; boundary and regional image descriptors;
matching and neural networks; shape numbers. (Fall)
(Evenings)
ITCS 3143.
Operating Systems. (3)
Prerequisite: ITCS 2214 or consent of the Department.
Introduction to multiprogramming operating systems. Process
synchronization and management of memory, devices, and files;
performance evaluation. (Fall, Spring, Summer)
(Evenings)
ITCS 3145. Introduction to Parallel Programming. (3)
Prerequisite: ITCS 2214. Programming parallel computers and
networks of workstations, parallel strategies, algorithms, and
applications. (Fall) (Evenings)
ITCS 3152.
Symbolic Programming. (3)
Prerequisite: ITCS 2214. Basic concepts of symbolic programming
including selected topics in artificial intelligence, heuristic
searching, symbolic algebra, language parsing, and theorem
proving. (Fall) (Evenings)
ITCS 3153.
Introduction to Artificial Intelligence. (3) Prerequisite: ITCS 3152 or consent of the Department. Basic
concepts of artificial intelligence. Topics include: defining
the problem as a state space search, production systems;
heuristic search; basic problem‑solving methods; game playing;
knowledge representation using predicate logic, semantic nets,
frames, and scripts; non‑monotonic reasoning, statistical and
probabilistic reasoning. (Spring) (Evenings)
ITCS 3155.
Software Engineering. (3)
Crosslisted as IT IS 3155. Prerequisite: ITCS 1215 or consent
of the Department. The system development cycle is examined in
detail from the aspects of software engineering. Current tools
and techniques of systems design‑data dictionary, data flow
diagrams, structured walkthroughs, and capacity planning will be
taught and presented in conjunction with case studies and class
problems. (Fall, Spring) (Evenings)
ITCS 3160.
Data Base Design and Implementation. (3) Prerequisite: ITCS 1215 or consent of the Department. Logical
and physical database organization, data models, design issues,
and secondary storage considerations. Emphasis on actual
participation in the design and implementation of databases. (Fall,
Spring) (Evenings)
ITCS 3166.
Distributed Computer Information Systems. (3) Prerequisite: ITCS 1215 or consent of the Department.
Distributed vs. centralized processing. Data communications;
speed; capacity, media, protocols. Network architectures.
Distribution of data, computer power, and support. Evaluation of
alternatives. Case studies. (Fall, Spring, Summer) (Evenings)
ITCS 3170. Applied Scientific Computing. (3)
Prerequisites:
MATH 2164 or its equivalent. Topics include: Concepts of
continuous and discrete signals; continuous Fourier transform
and its applications in multimedia processing; discrete Fourier
transform and its applications in arts and multimedia
processing; fundamentals of stochastic systems; fundamentals of
ordinary differential equations; applications of differential
equations in modeling; wavelet transform and its applications in
music and multimedia processing; fundamentals of fractals and
their application in arts and science; classification and
clustering. (On demand)
ITCS 3175. Logic and Algorithms. (3)
Prerequisites: ITCS
1214 and (MATH 1120 or MATH 1241). Introduction to
propositional calculus, predicate calculus, algorithms, logic
functions, finite-state machines; logic design. (On demand)
ITCS 3182. Computer Organization and Architecture. (3)
Prerequisite:
ITCS 2181 or consent of the Department. Machine level
representation of data; von Neuman architecture; instruction
sets and types; addressing types; assembly and machine language
programming; control unit and microprogramming; alternate
architectures. (Fall, Spring, Summer) (Evenings)
ITCS 3183.
Hardware System Design. (3)
Prerequisite:
ITCS 3182 or consent of the Department. Design of hardwired
control systems; processors and memory systems; application
specific design; use of simulation tools. Laboratory intensive
course. (Spring) (Evenings)
ITCS 3216.
Introduction to Cognitive Science. (3) Crosslisted as
PSYC 3216. Prerequisite: Consent of the Department.
Interdisciplinary introduction to the science of the mind.
Broad coverage of such topics as philosophy of mind, human
memory processes, reasoning and problem solving, artificial
intelligence, language processing (human and machine), neural
structures and processes, and vision. (Spring, Alternate
Years)
ITCS 3590. Computer Science Cooperative
Education and 49ership Experience. (0)
This course is required of Co-op and 49ership students
during the semester they are working. Participating students
pay a registration fee for transcript notation. Assignments
must be arranged and approved in advance. Course may be
repeated. Evaluation is satisfactory/unsatisfactory. For more
information, contact the University Career Center. (Fall,
Spring, Summer)
ITCS 3688.
Computers and Their Impact on Society. (3) (W) Prerequisites: Junior standing and consent of the Department.
A study of current topics (software piracy, hacking,
professional conduct) in computer science and the impact of
computers on various subsets (home, government, and education)
of society. (Fall, Spring) (Evenings)
ITCS 3690.
Seminar. (1‑6)
Prerequisite: Consent of the Department. May be repeated for
credit. (On demand)
ITCS 3691.
Seminar. (1‑6)
Prerequisite: Consent of the Department. A continuation of ITCS
3690. May be repeated for credit. (On demand)
ITCS 3695. Computer Science Cooperative Education Seminar. (1)
Required of
Co-op students immediately following each work assignment for
presentation of reports on work done the prior semester.
(Fall, Spring, Summer)
ITCS 3699.
Senior Seminar. (1‑3)
Prerequisites: Senior standing and consent of the Department.
Each participant will prepare a lecture on a topic in computer
science. Emphasis will be on communication of technical
information as well as on content of the presentations. May be
repeated for credit. (On demand)
ITCS 4010. Topics in Computer Science.
(1-3)
Prerequisite: Consent of the Department. Topics in computer
science selected to supplement the regular course offerings at
the 4000 level. (May be repeated for credit with the consent of
the Department. A student may register for multiple sections of
the course with different topics in the same semester or in
different semesters.) (On demand)
ITCS 4102.
Programming Languages. (3)
Prerequisite: ITCS 2215. Formal definition of programming
languages, including specification of syntax and semantics.
Evolution of programming languages and language design
principles. Structural organization, control structures, data
structures and types, name visibility, binding times, parameter
passing modes, subroutines, coroutines, and tasks. Functional
programming, list processing, logic programming, object‑oriented
programming systems. (Fall, Spring, Summer)
(Evenings)
ITCS 4107. Formal Languages and Automata. (3)
Prerequisite:
MATH 1165.
Detailed study of abstract models for the syntax of programming
languages and information processing devices. Languages and
their representation; grammars, finite automata and regular
sets; context-free grammars and pushdown automata; Chomsky
Hierarchy; closure properties of families of languages; syntax
analysis. (On demand)
ITCS 4112.
Software System Design and Implementation. (3) Prerequisite: Consent of the Department. Introduction to the
techniques involved in the planning and implementation of large
software systems. Emphasis on human interface aspects of
systems. Planning software projects; software design process;
top-down design; modular and structural design; management of
software projects; testing of software; software documentation;
choosing a language for software system.(Fall, Spring)
(Evenings)
ITCS 4120. Introduction to Computer Graphics. (3)
Prerequisites: ITCS 2214 and MATH 2164 or consent of
Department. Graphics hardware; raster algorithms; geometric
transformations; 2D/3D interactive graphics; 3D viewing and
perspective projections; color and lighting models; hidden
surface removal; modeling hierarchies; fractals; curved
surfaces. (Spring; Fall on demand)(Evenings)
ITCS 4128. Programming Languages and
Compilers. (3)
Prerequisite: ITCS 2214. Introduction to the
concepts and
techniques used in describing, defining, and implementing
programming languages and their compilers. Introduction to
parsing and parser construction; LL and LR grammars; syntax
directed translation; data object representations; run time
structures; intermediate languages; code optimization. (On
demand)
ITCS 4130.
Computer Graphics. (3)
Prerequisite: Consent of Department. Implicit and parametric
representation; cubic surfaces; advanced reflection models;
global illumination models - ray tracing, radiosity; shadow
algorithms, texture mapping; volumetric modeling and rendering
techniques; animation; advanced modeling techniques; particle
systems, fractals. (On demand)
ITCS 4131.
Simulation. (3)
Prerequisites:
MATH 3122 or consent of Department. Emphasis on the design and
derivation of mathematical models of dynamic systems;
deterministic simulation; random events; non-deterministic
simulation; discrete simulation; comparison and optimization.
(On demand)
ITCS 4141.
Computer Organization and Architecture. (3)
Prerequisite: ITCS 3182 or equivalent. Fundamentals of
computer design; instruction set design, basic processor
implementation techniques; pipelining; memory hierarchy;
Input/Output. Cost/performance and hardware/software
trade-offs. (Fall, Spring) (Evenings)
ITCS 4145. Parallel Computing. (3)
Prerequisites: ITCS
2214 and ITCS 3182. Types of parallel computers, programming
techniques for multiprocessor and multicomputer systems,
parallel strategies, algorithms,
and languages. (Spring) (Alternate
years) (Evenings)
ITCS 4151. Intelligent Robotics. (3)
Prerequisites:
ITCS 2214 and MATH 2164.
General introduction to spatial
descriptions and transformations, and manipulator position and
motion. More study on robot planning, programming, sensing,
vision, and CAD/CAM. (On demand)
ITCS 4152. Computer Vision. (3)
Prerequisites:
ITCS 2215 and MATH 2164. General
introduction to Computer Vision and
its application. Topics include low level vision, 2D and 3D
segmentation, 2D description, 2D recognition, 3D description and
model-based recognition, and interpretation. (On demand)
ITCS 4157.
Computer-Aided Instruction. (3)
Prerequisite:
Consent of the Department. History of CAI; study of current CAI
systems; development of man-machine dialogue; programming tools
for CAI; information structures for computer-oriented learning.
Advantages/disadvantages/costs of CAI. (On demand)
ITCS 4181.
Microcomputer Interfacing. (3)
Prerequisite:
ITCS 3182 or ECGR 3181 or permission of the Department. Signal
conditioning, A/D conversion, noise, transmission line effects,
signal processing, D/A conversion and serial/parallel
interfaces. (Fall, Alternate years) (Evenings)
ITCS 4230. Introduction to Game Design and Development. (3)
Prerequisite: ITCS 2215. Basic concepts and techniques for electronic
game design and development. Topics include: game history and
genres, game design teams and processes, what makes a game fun,
level and model design, game scripting and programming including
computer graphics and animation, artificial intelligence,
industry issues, and gender and games. (Fall)
ITCS 4231. Advanced Game Design and Development. (3)
Prerequisite: ITCS 4230. Advanced concepts and techniques for
electronic game design and development. This course is a
project-centered course where students explore complex gameplay
and interactivity. The course explores topics from the
introductory course in more depth, such as: applying software
engineering techniques to developing games, advanced game
programming and scripting, networking, graphics, physics, audio,
game data structures and algorithms, and artificial
intelligence.
ITCS 4650. Senior Project. (3)
Prerequisites: two ITCS/ITIS
3xxx/4xxx courses with a grade of C or better or consent of the
Department. An individual or group project in the teaching,
theory, or application of computer science under the direction
of a faculty member. Projects must be approved by the
Department before they can be initiated. (Fall, Spring,
Evenings)
ITCS 4651. Senior Project. (3)
Prerequisite: ITCS 4650. A continuation of ITCS 4650.
(Fall, Spring, Evenings)
ITCS 4681. Senior Design I. (3)
Prerequisites: two ITCS/ITIS 3xxx/4xxx courses with a grade of
C or better or consent of the Department. An individual or
group computer engineering design project under the direction of
a faculty member. Projects must be approved by the Department
before they can be initiated. (Fall, Spring, Evenings)
ITCS 4682. Design II. (3)
Prerequisite: ITCS 4681. A continuation of ITCS 4681.
(Fall, Spring, Evenings)
ITCS 4990.
Undergraduate Research. (3)
Prerequisite:
Permission of the
Department. This course consists of undergraduate research as
part of a joint undergraduate/graduate research project using
existing research laboratory facilities and materials. Course
may be repeated in subsequent terms for a maximum of 6 hours
total. (Fall, Spring)
©
2005 UNC Charlotte
|
Privacy Statement
Page
Maintained by:
Academic Affairs
Page Last Updated:
10/30/2006 02:42 PM |