UNCA Catalog: Courses of Instruction
UNCA Catalog: Table of Contents
Professor J. Daugherty (Chair); Professor W. Lang; Associate Professors Boyd, Brock; Lecturers Manns, Massey
The Computer Science major offers two concentrations of study: Computer Systems and Information Systems. Both concentrations draw from a common core of computer science courses but differ in emphasis. Both concentrations provide the student with preparation for a career in the computer field or the background necessary for studies at the graduate level.
Concentration in Computer Systems
The concentration in Computer Systems includes both hardware and software design. This concentration prepares students for careers in systems programming, computer architecture design, scientific and engineering applications, and software development.
The concentration in Information Systems includes both theory and application of software development, with emphasis on data processing applications. This concentration prepares students for careers in commercial programming, systems analysis and design, and database management.
Declaring a major in Computer Science requires the student to complete a Declaration of Major form that must be signed by the department chair. Before declaring a major, students must satisfy the LANG 102 and Library Research requirements.
22 hours in Computer Science: CSCI 107, 201, 202, 255; and 9 hours in CSCI at the 300 level or above.
107 Introduction to Computers and Multimedia (MMAS 107) (3)
A survey of computer hardware and software, networking and the Internet, the convergence
of personal computers and consumer electronics, digital representation of sound and images,
multimedia presentations and authoring. Includes formal labs to develop skills in useful
computer applications such as spreadsheets, databases, Internet browsers and multimedia design tools.
Fall and Spring.
121 Networking and Hypertext (MMAS 121) (3)
Design and development of networked hypertext documents such as Internet home
pages. Digital representation of images and sound for computer documents. Search strategies for
computer networks. Prerequisite: CSCI 107. Fall and Spring.
142 Computer Programming I (FORTRAN) (3)
Computer programming using FORTRAN. Programming examples illustrating
engineering, scientific and commercial applications. Prerequisite: MATH 163 or equivalent. Spring.
201 Introduction to Algorithm Design (3)
Problem solving and algorithm development; data and procedural abstraction (ACM
CS1). Taught using C++ programming language. Includes a formal laboratory section using
program development tools. Prerequisite: placement in MATH 163 or equivalent. Fall and Spring.
202 Introduction to Data Structures (3)
Data structures (lists, stacks, queues and trees); searching and sorting algorithms; use of a
modern, block-structured programming language (ACM CS2). Prerequisite: CSCI 201. Fall
and Spring.
241 Applications Programming in COBOL (3)
COBOL programming with emphasis on business and management applications; file
creation, data handling and table structures; computer organization and system logic. Prerequisite:
CSCI 201. Spring.
252 Programming in C (3)
Fundamentals of the C programming language with emphasis on personal computer and
workstation applications. Prerequisite: CSCI 201. On demand.
255 Computer Organization (4)
Organization of digital computers including data representation, logic design and
architectural features needed to support high-level languages. Includes a formal laboratory section
using circuit design tools. Prerequisite: CSCI 201. Spring.
310 Computer Animation (MMAS 310) (3)
Introduction and study of the principles of traditional animation, 2D and 3D computer
animation, and computer modeling and rendering. Concepts including color theory, shading,
lighting, keyframes, particle systems, raytracing and radiosity will be presented in lectures and
explored during demonstrations and hands-on labs. Prerequisite: ART 100; CSCI 201; or permission
of instructor. See department chair.
320 Computer Architecture (3)
Architectural features of modern computer architectures, including instruction set
design, pipelining, memory management and bus structures. Quantitative analysis of computer
design choices. Prerequisites: CSCI 202, 255. Fall.
331 Operating Systems (3)
Concepts of operating systems: processes, synchronization, memory management, file
systems and security. Prerequisites: CSCI 202, 255. Spring.
333 Data Structures (3)
Data structures and their representation in programming languages, lists, trees, graphs
and networks. Relationship between data structures and algorithm design; analysis of
algorithm efficiency. Prerequisites: CSCI 202; MATH 251. Fall.
340 Multimedia Technology (MMAS 340) (3)
Survey of multimedia hardware and software. Topics include compression, signal processing,
user interfaces, and intellectual property issues. Homework and lab sessions explore hardware
and software used to generate and edit images, sound, video and animation. Prerequisite: CSCI
202; or permission of instructor. See department chair.
342 Systems Analysis and Design Methods (3)
Study of the concepts and techniques utilized in the analysis and design of an
information system throughout the system development cycles. Prerequisite: CSCI 241. Fall.
343 Database Management Systems (3)
Study of theory and application of database management systems. Topics include
database design, data normalization, transaction management and data access methods.
Prerequisite: CSCI 202. Spring.
345 Object Technology (3)
Emphasis on object technology concepts and design. In addition, a few programming
applications will be developed in an object-oriented language. Prerequisite: CSCI 202. On demand.
346 Computer Graphics (3)
Programming techniques for the display of two-and three-dimensional objects. Rotation,
translation and scaling. Hidden line and surface elimination. Raster methods. Color theory.
Animation. Prerequisites: CSCI 202, 255. Spring.
348 Graphical User Interface (MMAS 348) (3)
A study of the design and development of graphical user interfaces for computer
applications. Window layout, menuing systems, interface standards, event-driven and object-oriented
programming techniques. Prerequisites: CSCI 202; or permission of instructor.
See department chair.
361 Data Communications (3)
Hardware-oriented aspect of data communications and computer networking.
Transmission media, data encoding, error correction, flow control and performance analysis.
Prerequisite: CSCI 255. Even years Fall.
363 Computer Networking (3)
Software-oriented aspect of data communications and computer networking. Network
interconnection, session control, application programmer interfaces, common network
applications. Prerequisite: CSCI 202. Odd years Fall.
381 Numerical Analysis (MATH 341) (3)
Methods for numerically solving mathematical problems, polynomial approximation,
approximation theory, numerical differentiation and integration, numerical methods in matrix
algebra and differential equations, numerical solution of non-linear equations. Prerequisites:
MATH 291; proficiency in any programming language; or permission of instructor. Odd years Fall.
431 Organization of Programming Languages (3)
Definition and design of high-level programming languages; formal tools for language
definition and specification of semantics; case studies of several languages. Prerequisite: CSCI 333. Fall.
434 Automata Theory and Formal Languages (3)
A study of formal models of computation, grammars and languages, including finite state
machines, regular expressions and Turing machines. Prerequisites: CSCI 202; MATH 251.
Even years Spring.
446 Systems Analysis and Design Project (3)
Experience in designing, developing, documenting, testing and implementing a
significant project in a teamwork environment. Prerequisite: CSCI 342; corequisite: CSCI 343. Spring.
448 Systems Development Management (3)
Study of the management issues in the system development process. Current topics of
concern to information systems managers will be covered through instructor and guest lectures,
journal readings and directed research. Prerequisite: senior-level standing in Computer Science. Fall.
450 Research in Computer Science (3)
Instruction in techniques of research. Each student will choose an individual project and
be guided through the execution of the research and preparation of a paper and
presentation. Prerequisite: junior- or senior-level standing in Computer Science. (IP grade may be awarded
at discretion of instructor.) Fall and on demand.
452 Compiler Design (3)
Theory of programming language translation; design and construction of compilers;
lexical analysis, parsing and code generation. Prerequisite: CSCI 431. Odd years Spring.
460 VLSI Design (3)
Design of Very Large Scale Integrated (VLSI) circuits. Microelectronic circuits designed
using CAD software tools. Prerequisite: junior-level standing in Computer Science; or permission
of instructor. On demand.
462 Senior Project (1)
Individual projects by students of senior standing. Completed projects meet demonstration
of competency. Prerequisite: senior-level standing in Computer Science; or permission of
instructor. Fall and Spring.
171-4, 271-4, 371-4, 471-4 Special Topics in Computer Science (1-4)
Courses not otherwise included in the catalog listing but for which there may be special
needs. May be repeated for credit as often as permitted and as subject matter changes. On demand.
Return to the top of the page