Computer Science

 

Computer Science

Kennedy Bldg 201

704-687-6374

http://www.cs.uncc.edu

 

Degree

M.S.

 

Coordinator

Dr. Zbigniew W. Ras

 

Graduate Faculty

C. Michael Allen, Professor

Keh-Hsun Chen, Associate Professor

Teresa Dahlberg, Assistant Professor

Essam El-Kwae, Assistant Professor

Jianping Fan, Assistant Professor

Junsheng Long, Associate Professor

Zbigniew Michalewicz, Professor

Taghi Mostafavi, Associate Professor

Kayvan Najarian, Assistant Professor

Zbigniew Ras, Professor

Min Shin, Assistant Professor

K.R. Subramanian, Associate Professor

Barry Wilkinson, Professor

Xintao Wu, Assistant Professor

Jing Xiao, Associate Professor

 

Adjuncts

Lech Banachowski, Professor

Alicja Wieczorkowska, Assistant Professor

 

Program of Study

The objective of the computer science program leading to the Master of Science degree is to provide advanced skills and knowledge in the planning, design, implementation, testing and management of computer systems. These skills are necessary for dealing with the problems encountered in business, industry, and governmental computer applications; for holding administrative or engineering positions requiring the planning and implementation of computer systems; for teaching computer science; and/or further study in computer science, in particular, for doctoral study.

 

The primary areas of interest are: biomedical information processing, computer networks and communication, computational intelligence, decision support systems, geometric reasoning, modeling and computation, graphics, multi-media and visualization, image processing and computer vision, intelligent information systems, knowledge discovery and data mining, parallel and distributed computing, robotic systems, and software engineering.

 

Minor in Operations Research

The Department of Computer Science participates in the program leading to an interdisciplinary graduate minor in Operations Research. See Operations Research Section of this Catalog for complete information and program requirements.

 

Additional Admission Requirements

In addition to the general requirements for admission to the graduate school, students applying for this program must have current working and academic knowledge of two higher languages (including at least one procedural language), algorithm analysis, and data structures; also a senior level computer science course in computer organization and architecture and two additional senior level computer science courses in systems and/or applications. Students with bachelor's degrees outside of science and/or engineering may need additional subject area coursework, as determined by the department.

 

A bachelor's degree in a high quality computer science program or satisfactory completion of the Advanced GRE in computer Science may be substituted for some or all of the subject area admission requirements. Individuals who have worked at a high professional level in the computer industry may be able to substitute work experience for some of the specific subject area requirements, subject to review by the department graduate committee.

 

Students must have an undergraduate grade point average of (or equivalent to) at least 2.8 (on a 4.0 point scale) and a junior/senior GPA of at least 3.0. A satisfactory score on the aptitude portion of the GRE is also required.

 

Qualified students who do not meet all of the above requirements may be considered for conditional admission and maybe required to take additional approved related courses. In this case the student must make grade of B or better in all of the suggested courses, in order to be fully admitted to the program.

 

Degree Requirements

Candidates for the Master of Science in Computer Science have the option of either:

1)       completing 24 semester hours of course work and writing a thesis for six hours of credit; or

2)       completing 30 hours of course work and completing a project.

Either option can be completed on a full or part-time basis.

 

All students will complete 6 hours of course work from an approved list of courses (3 hours in systems and 3 hours in theory); further, students, with approval of his or her academic advisor, will also complete 9 hours of course work towards an approved concentration of computer science, and an additional 9 hours (thesis option) or 15 hours (project option) of advanced technical elective coursework, to meet program requirements.

 

A maximum of six semester hours of graduate credit may be transferred from other institutions.

 

Assistantships

Financial assistance for qualified students is available on a competitive basis in the form of graduate teaching and research assistantships. Students that awarded assistantships are expected to choose the thesis option. The deadline for graduate teaching assistantship applications is March 31 for the following academic year. For detailed and updated information refer to the Computer Science Website.

 

All course descriptions follow the Certificate section.

Certificate

Advanced Databases and Knowledge Discovery

 

Program of Study

The purpose of this certificate is to provide graduate students with the opportunity to reach a demonstrated level of competence in the areas of databases and knowledge discovery. Course-work towards this graduate certificate can be used for credit towards the MS degree in Computer Science. However, its primary objective is to provide a well-defined target for students who want to advance their knowledge of modern databases and knowledge discovery techniques but do not necessarily wish to complete all requirements for the M.S. degree in Computer Science. The certificate may be pursued concurrently with any of the graduate degree programs at UNC Charlotte.

 

Additional Admission Requirements

This certificate program is open to all students who hold a BS degree in any scientific, engineering or business discipline and either:

1)       are enrolled and in good standing in a graduate degree program at UNC Charlotte, or

2)       have GPA above 2.8 overall and 3.0 Jr/Sr.

 

Applicants are required to submit a brief (one-to-two page) statement of educational and work experience in the computing field. Application for the ADKD certificate program is made through the Office of Graduate Admissions.

 

Completion Requirements

The certificate will be awarded upon completion of five graduate level courses (15 credits) in the area of knowledge discovery and databases. A cumulative GPA of 3.0 will be required and at most one course with a grade of C may be allowed towards the certificate.

 

To obtain the certificate a student needs to take: ITCS 6150 or ITCS 6114, ITCS 6160, ITCS 6162, and two additional courses.

 

For detailed and updated information refer to the Computer Science Website.

 

 

Courses In Computer Science

 

ITCS 5102. Survey of Programming Languages. (3) Prerequisite: consent of the department. Study of the concepts underlying various computer languages and comparing and evaluating various language features. History and development of various languages, such as FORTRAN, ALGOL, PASCAL, MODULA-2, C, C++, Ada, Lisp, Smalltalk, Prolog.; evaluation and comparison of various algorithms and language suitability. Selection of languages for problems/environments. Overview of various languages. (On demand)

ITCS 5128. Programming Languages and Compilers. (3) Prerequisite: consent of the department. 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 5141. 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. (Even, Fall)(Spring) (Evenings)

 

ITCS 5145. Parallel Computing. (3) Prerequisites: ITCS 1215 and 3182 or consent of department. Types of parallel computers, programming techniques for multiprocessor and multicomputer systems, parallel strategies, algorithms, and languages. (Even, Spring) (Evenings)

 

ITCS 5151. Intelligent Robotics. (3) Prerequisites: ITCS 1215 and MATH 2164, or consent of the department. General introduction to spatial descriptions and transformations, and manipulator position and motion. More study on robot planning, programming, sensing, vision, and CAD/CAM. (Odd, Spring) (Evenings)

 

ITCS 5152. Computer Vision. (3) Prerequisites: ITCS 1215 or MATH 2164, or consent of the department. 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. (Odd, Spring) (Evenings)

 

ITCS 5157. 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 5181. Microcomputer Interfacing. (3) Prerequisite: ITCS 3182 or equivalent, or permission of the department. Signal conditioning, A/D conversion, noise, transmission line effects, signal processing, D/A conversion and serial/parallel interfaces. (On demand)

 

ITCS 6010. Topics in Computer Science. (3) Prerequisite: consent of the department. Topics in computer science selected to supplement the regular course offerings. May be repeated for credit as topics vary. (On demand)

 

ITCS 6050. Topics in Intelligent Systems. (3) Prerequisite: consent of the department. Topics in intelligent systems selected to supplement the regular course offerings. May be repeated for credit as topics vary. (On demand)

 

ITCS 6080. Topics in Computer Engineering. (3) Prerequisite: consent of the department. Topics in computer engineering selected to supplement the regular course offerings. May be repeated for credit as topics vary. (On demand)

 

ITCS 6107. Formal Languages and Automata. (3) Prerequisites: one semester of discrete structures or consent of the department. 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 6110. Topics in Programming Languages and Compilers. (3) A continuation of material in ITCS 5128 with emphasis on advanced aspects of optimization, data flow analysis, and error discovery. (On demand)

 

ITCS 6111. Evolutionary Computation. (3) Prerequisite: ITCS 6114 or consent of the department. General introduction to optimization problems. Optimization techniques: hill climbing, simulated annealing, evolution strategies, and genetic algorithms. Evolution programming techniques. (On demand)

 

ITCS 6112. 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 structured design; management of software projects; testing of software; software documentation; choosing a language for software system. This course is cross-listed with ITIS 6112 (Fall, Spring)(Evenings)

 

ITCS 6114. Algorithms and Data Structures. (3) Prerequisite: full graduate standing. Introduction to techniques and structures used and useful in design of sophisticated software systems. Records; arrays; linked lists; queues; stacks; trees; graphs; storage management and garbage collection; recursive algorithms; searching and sorting; graph algorithms; time and space complexity. (Odd, Fall) (Spring) (Evenings)

 

ITCS 6115. Advanced Topics in Algorithms and Data Structures. (3) Prerequisite: ITCS 6114. Continuation and extension of ITCS 6114. String matching; semi numerical algorithms; probabilistic algorithms; parallel algorithms; NP-completeness; computationally hard problems; approximation algorithms. (On demand)

 

ITCS 6120. Computer Graphics. (3) Prerequisites: full graduate standing or consent of the department. Introduction to the design and implementation of interactive graphics systems. Raster and vector display systems, I/O devices; graphics primitives and their attributes; raster algorithms and clipping; 2D/3D geometric transformations; 3D viewing and projections; hierarchical and procedural models; surface representation; color and lighting models; rendering algorithms; global illumination and texture mapping. (Fall) (Evenings)

 

ITCS 6130. Advanced Computer Graphics. (3) Prerequisite: ITCS 6120 or equivalent, or consent of the 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 6132. Modeling and Analysis of Communication Networks. (3) Prerequisite: A course in communication networks, or consent of the department. The objective of this course is to develop an understanding of modeling and analysis techniques for communication systems and networks. The intent is to enable the student to understand how to comparatively analyze the cost and performance impact of network architecture and protocol design decisions. Modeling techniques for analytical analysis, simulation based analysis, and measurement based analysis will be presented. Concepts covered include validation/verification of models, workload characterization, metric selection, presentation and interpretation of results. A semester long analysis project will be undertaken. (On demand)

 

ITCS 6134. Digital Image Processing. (3) Prerequisite: full graduate standing or consent of the department. Cross-listed as ECGR 6118. Image perception; image types/applications; image restoration and enhancement; edge/boundary detection; image transformation; image segmentation; statistical and syntactical pattern recognition; image information measures and compression. (Even, Spring) (Evenings)

 

ITCS 6140. Data Visualization. (3) Prerequisite: Full graduate standing or consent of the department. Emphasis on the methodology and application of data visualization to scientific and engineering data; data types and models; visualization methods; volume visualization; scalar, vector and tensor fields; multi-variate visualization; visualization systems and models; visualization applications; visualization software and hardware; research issues and future trends. (Odd, Spring)(Evenings)

 

ITCS 6144. Operating Systems Design. (3) Prerequisite: ITCS 6114 or consent of the department. Introduction to features of a large-scale operating system with emphasis on resource-sharing environments. Computer system organization; resource management; multiprogramming; multi-processing; file systems; virtual machine concepts; protection and efficiency. (Even, Spring) (Evenings)

 

ITCS 6148. Advanced Object-Oriented Systems. (3) Prerequisites: ITCS 6112 or equivalent. This course focuses on issues related to the design, implementation, integration, and management of large object-oriented systems. Topics include: object models, object modeling, frameworks, persistent and distributed objects, and object-oriented databases. This course is cross-listed with ITIS 6148 (Spring)(Alternate Years)(Evenings)

 

ITCS 6150. Intelligent Systems. (3) Prerequisites: full graduate standing or consent of the department. To introduce core ideas in AI. Heuristic versus algorithmic methods; problem solving; game playing and decision making; automatic theorem proving; pattern recognition; adaptive learning; projects to illustrate theoretical concepts. (Fall) (Evenings)

 

ITCS 6153. Neural Networks. (3) Prerequisites: ITCS 6114. Topics include: Basic notions and models of artificial neural nets; single layer neural classifiers; multilayer one-way neural nets; single layer feedback networks; neural models of associative memory; self organizing neural nets; translation between neural networks and knowledge bases; applications of neural networks. (Even, Fall) (Evenings)

 

ITCS 6154. Heuristic Search. (3) Prerequisite: ITCS 6150. Heuristics and problem representation; heuristic-search procedures; formal properties and performance analysis of heuristic methods; game-searching strategies and heuristic programming; search with probabilities; knowledge-guided search. (On demand)

 

ITCS 6155. Knowledge-Based Systems. (3) Prerequisite: ITCS 6162 or consent of the department. Knowledge systems; knowledge discovery; association rules; query languages and operational semantics; decision systems; cooperative and collaborative systems; tree structured information systems; tree structured query languages; flexible query answering; chase algorithm based on rules; local and global ontologies; action rules; optimization problems for query answering systems. (Even, Spring) (Evenings)

 

ITCS 6156. Machine Learning. (3) Prerequisite: ITCS 6150 or consent of the department. Machine learning methods and techniques including: acquisition of declarative knowledge; organization of knowledge into new, more effective representations; development of new skills through instruction and practice; and discovery of new facts and theories through observation and experimentation. (On demand)

 

ITCS 6157. Visual Databases. (3) Prerequisites: ITCS6160 or equivalent. Topics include: Representation of visual content, querying visual databases, content-based interactive browsing and navigation, system architecture, similarity models, indexing visual databases, data models and knowledge structures, image retrieval by similarity, and video retrieval by content. (Even, Fall)( Evenings)

 

ITCS 6158. Natural Language Processing. (3) Prerequisite: ITCS 6150. Principles, methodologies, and programming methods of natural language processing including foundations of natural language understanding, namely: lexical, syntactic, and semantic analysis, discourse integration, and pragmatic and morphological analysis. (On demand)

 

ITCS 6160. Database Systems. (3) Prerequisite: ITCS 6114 or consent of the department. Introduction to principles of database design, and survey of alternative database organizations and structures. Logical database organization; schemas; subschemas; data description languages; hierarchical, network, and relational databases; database management systems; normal forms. (Fall, Spring)(Evenings)

 

ITCS 6161. Advanced Topics in Database Systems (3) Prerequisite: ITCS 6160 or equivalent. Continuation of ITCS 6160. Topics include deductive databases; semantic query processing; intelligent and cooperative query languages; distributed databases; active databases; heterogeneous databases, multimedia databases; data and knowledge interchange; multidatabase systems; very large databases. (Odd, Spring)(Evenings)

 

ITCS 6162. Knowledge Discovery in Databases. (3) Prerequisite: ITCS 6160 or consent of the department. The entire knowledge discovery process is covered in this course. Topics include: setting up a problem, data preprocessing and warehousing, data mining in search for knowledge, knowledge evaluation, visualization and application in decision making. A broad range of systems, such as OLAP, LERS, DatalogicR+, C4.5, AQ15, Forty-Niner, CN2, QRAS, and discretization algorithms are covered. (Fall) (Evenings)

 

ITCS 6163. Data Warehousing. (3) Prerequisite: ITCS 6160 or equivalent. Topics include: use of data in discovery of knowledge and decision making; the limitations of relational databases and SQL queries; the warehouse data models: multidimensional, star, snowflake; architecture of data warehouse and the process of warehouse construction; data consolidation from various sources; optimization; techniques for data transformation and knowledge extraction; relations with enterprise modeling. (Odd, Spring) (Evenings)

 

ITCS 6164. Design and Implementation of On-line Management Information Systems. (3) Prerequisites: ITCS 6114 or consent of the department. The fundamental concepts and philosophy of planning and implementing an on-line computer system. Characteristics of on-line systems; hardware requirements; modeling of on-line systems; performance measurement; language choice for on-line systems; organization techniques, security requirements; resource allocation. (On demand)

 

ITCS 6165. Coding and Information Theory. (3) Prerequisite: knowledge of probability theory. Information theory; coding theory; Shannon's theorem; Markov process; channel capacity; data transmission codes; error correcting codes; data compression; data encryption. (Odd, Fall)(Evenings)

 

ITCS 6166. Computer Communications and Networks. (3) Introduction to the concepts of communication networks; Types of networks; wired and wireless media; communication architectures; network protocols; coding and modulation; multiplexing and multiple access; error and flow control; routing; Internet Protocols; transport protocols; Assignments include implementation and analysis of network protocols (Fall) (Evenings).

 

ITCS 6170. Logic for Artificial Intelligence. (3) Prerequisite: ITCS 6150 or consent of the department. Introduction to basic concepts of logic for artificial intelligence, including declarative knowledge, inference, resolution, non-monotonic reasoning, induction, reasoning with uncertain beliefs, distributed information systems, intelligent information systems, planning and intelligent-agent architecture. (On demand)

 

ITCS 6171. Logic Programming. (3) Prerequisite: ITCS 6150 or consent of the department. Prolog programming language; programming techniques in Prolog; foundations of logic programming including computability of Horn clause logic, completeness of resolution principle, complexity of unification algorithms, and verification of logic programs; principles of implementing logic programming systems; selected topics from applications of logic programming to expert systems, intelligent database systems, and/or natural language processing. (On demand)

 

ITCS 6175. Computability and Complexity. (3) Prerequisite: consent of the department. Study of computability, unsolvability, computational complexity. Concept of effective computability; recursive functions; mathematical models of computation; universal Turing machines; unsolvable problems; time and space complexity of computations; NP-completeness problems; sub-recursive hierarchies. (On demand)

 

ITCS 6181. Switching and Automata Theory. (3) Prerequisite: consent of the department. Topics include sets, relations, lattices, Boolean algebras; functional decomposition and symmetric functions; threshold logic; multiple-valued logic; fault detection and fault tolerant design; finite state machines, incompletely specified machines, minimization; state identification and fault detection experiments; finite state recognizers. (On demand)

 

ITCS 6182. Advanced Computer Architecture. (3) Prerequisite: ITCS 5141. Survey of existing and proposed architectures; pipelined, dataflow, restructurable, and supercomputer architectures. Multicomputer and multi- processor architectures. Impact of VLSI on architecture. (Odd, Fall) (Evenings)

 

ITCS 6183. Computer Arithmetic. (3) Prerequisite: consent of the department. Principles, architecture, and design of fast two operand adders; multioperand adders, standard multipliers, and dividers. Cellular array multipliers and dividers. Floating point processes, BCD, and excess three adders, multipliers, and dividers. (On demand)

 

ITCS 6184. Fault Tolerant Digital Systems. (3) Prerequisite: ITCS 5141. Design and analysis of fault tolerant digital systems including design techniques, qualitative and quantitative methods of evaluation, and available fault tolerant digital systems. (On demand)

 

ITCS 6186. Application Specifics System Design and Simulation. (3) Prerequisite: ITCS 5141 or equivalent or consent of the Department. Project oriented course on techniques and methodology in design and development of special purpose systems valuable for business, healthcare, and industrial community; course content include system specifications, interface structure and data communication, interconnection architecture, and techniques for testing and debugging. (Fall) (Even years)

 

ITCS 6220. Pattern Recognition. (3) Prerequisites: Graduate standing. Topics include: Pattern pre-processing and feature extraction (entropy minimization, orthogonal expansion, Fourier expansion, Karhunen-Loeve expansion, PCA); linear decision functions; orthogonal and non-orthogonal systems of functions; pattern classification by distance functions (Nearest Neighbor, K-means, ISODATA); pattern classification by likelihood functions (Bayesian classifiers, estimation of probability density function); trainable classifiers (LMSE, Perceptron, multi-layer perceptrons, fuzzy classifiers); stochastic processes; classification on categorical attributes. (Odd, Fall) (Evenings)

 

ITCS 6222. Biomedical Signal Processing. (3) Prerequisites: Graduate standing. Topics include: Fundamental techniques in processing, analysis, feature extraction, and classification of complex signals; origin and processing techniques for biomedical signals, including ECG, ENG, EEG, MEG, ERG, EMG, respiratory signals, blood sound, and pressure signals. (On demand)

ITCS 6224. Biomedical Image Processing. (3) Prerequisites: Graduate standing, and Math 2164 or its equivalent. Topics include: Review of image processing and pattern recognition (2-D Fourier transforms, 2-D Wavelet transform, denoising of medical images); origin and processing of X-ray images; CT images; MRI images; ultrasonic images; PET images; thermal images; electrical impedance images; cross-registration between images of different source; stereotactic neurosurgery; stereotactic radiosurgery/radiotherapy; robot-assisted surgery. (Odd, Spring) (Evenings)

 

ITCS 6267. Intelligent Information Retrieval. (3) Prerequisites: ITCS 6114 or consent of the department. Topics include: definition of the information retrieval problem, modeling the information retrieval problem, evaluation of information retrieval, query languages and operations, text processing, indexing and searching, parallel and distributed information retrieval, user interface and visualization, multimedia information retrieval, and information retrieval applications. (Even, Spring) (Evenings)

 

ITCS 6690. Computer Science Seminar. (3) Prerequisites: at least 18 graduate ITCS/ITIS hours and consent of the department. Experience for the advanced M.S. student on current problems of computer design and application. (May be used by a student or small group of students to work with a professor on a topic of mutual interest. May be used to give a course on a topic announced in advance.) (On demand)

 

ITCS 6880. Individual Study. (1-3) Prerequisites: At least 18 graduate ITCS/ITIS hours and consent of the department. With the direction of a faculty member, students plan and implement appropriate objectives and learning activities to develop specific areas of expertise through research, reading, and individual projects. May be repeated for credit. (On demand)

 

ITCS 7991. Computer Science Thesis. (1-3) Prerequisite: consent of the department. Graduate thesis research. Detailed exploration of an area of computer science chosen for thesis research. May be repeated for credit but no more than six hours may be applied to M.S. degree requirements. (Fall, Spring, Summer) (Evenings)

 

ITCS 7999. Master's Degree Graduate Residence. (1) See Department for Course Description. (Fall, Spring, Summer)(Evenings)