UNCA Catalog: Courses of Instruction
UNCA Catalog: Table of Contents
Computer Science (CSCI)
Professors Brock (Chair), J. Daugherty; Associate Professor Boyd; Assistant Professor Bruce;
Instructor Turner; Lecturers Massey, Reiser
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.
- Required courses in the major--41 hours, including: CSCI 107, 201, 202, 255, 320,
331, 333, 343, 346, 431, 462; and 9 additional hours in CSCI at the 300 level or above.
- Required courses outside the major--23 hours: MATH 191, 192, 251; PHYS 221,
and either 222 or 231; STAT 225.
- Other departmental requirements--Competency in the major and competency in oral
presentation are demonstrated by successful completion of CSCI 462.
Concentration in Information Systems
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.
- Required courses in the major--38 hours, including: CSCI 107, 201, 202, 242, 255,
342, 343, 446, 448, 462; and 9 additional hours in CSCI at the 300 level or above.
- Required courses outside the major--20 hours: ACCT 215; ECON 306; MATH 191, 251;
MGMT 220; STAT 185 or 225.
- Other departmental requirements--Competency in the major and competency in oral
presentation are demonstrated by successful completion of CSCI 462.
Declaration of Major in Computer Science
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.
Minor in Computer Science
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.
- 115 Software Tools for Engineers (1)
- Fundamentals of the N.C. State University EOS System. Software and services
available on the system. Network hardware configuration, online help and communication, file
and directory manipulation. Software applications such as e-mail, publishing packages,
spreadsheets, mathematical packages, CAD packages. This course satisfies the E115
requirement in NCSU engineering curricula. Fall.
- 121 Introduction to Web Page and Interactive Design (MMAS 121) (3)
- An introduction to digital imaging, authoring Web pages and creating non-linear
interactive presentations. Basic design and visual communication principles are applied to
integrating text and images for effective communications developed for the computer
screen. Prerequisite: CSCI 107; or permission of instructor. 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 Java 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, object-oriented programming language (ACM CS2). Includes a formal
laboratory section using program development tools. Prerequisite: CSCI 201. Fall and Spring.
- 242 Programming Visual Applications (3)
- Development of event-driven graphical applications using an integrated
development environment. Prerequisite: CSCI 201; or permission of instructor. Spring.
- 244 Internet Client-Side Technology (3)
- An intermediate class extending the fundamentals of Web page design. Topics
include advanced HTML and XML, the document object model (DOM), dynamic Web pages
and style sheets. Prerequisite: CSCI 107. Fall.
- 252 Programming in C++ (3)
- Fundamentals of the C++ programming language with emphasis on personal computer
and workstation applications. See department chair.
- 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 Intermediate Computer Animation (MMAS 310) (3)
- Intrermediate technical, artistic and critical skills required to create convincing 2-D and
3-D animation within the computer. Extensive training with high-end
animation, compositing and video output packages will allow for, among other things, the
combination of live-action shots with computer-generated animation. Prerequisites: ART 101 or
CSCI 201; MMAS 151, 221; or permission of instructor. Fall.
- 311 Digital Logic Design (3)
- Design and synthesis of combinational and sequential circuits. Topics include
Boolean algebra, computer arithmetic, programmable logic devices, and hardware description
languages. Prerequisite: CSCI 255. 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 (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 System 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 cycle. Prerequisites: CSCI 242, 343. Spring.
- 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. Fall.
- 344 Internet Server-Side Technology (3)
- An advanced class in the use of servers in Web applications. Topics include active
server pages, database integration, and Web site management. Prerequisite: CSCI 244. 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.
See department chair.
- 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.
- 410 Advanced Animation Techniques (MMAS 410) (3)
- Advanced techniques utilized to create challenging and compelling computer
animation, including character animation. Students will use research, material or concepts from
other university courses to present idea-driven work that expresses their perspective on a
humanistic topic of their choosing. Prerequisite: MMAS 310. See department chair.
- 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.
- 444 Issues in Electronic Commerce (3)
- Issues surrounding computer networks and their use for electronic commerce. Topics
include legal and ethical considerations, privacy, security, technology tradeoffs,
outsourcing, digital signatures, digital watermarking and Web architectures. Prerequisites:
Computer Science Majors: Senior Standing; Other Majors: Permission of Instructor. See
Department Chair.
- 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. See department chair.
- 462 Senior Project (1)
- A demonstration of in-depth knowledge in one aspect of computer science.
Successfully completed projects will meet the departmental requirement for competency in the
major. Includes an oral presentation before the department's assembled faculty to demonstrate
oral competency. Prerequisite: Permission of instructor and approval by department's
Senior Project Committee of a senior project proposal. Additional guidelines for the senior
project proposal may be obtained from the departmental secretary. Fall and Spring.
- 499 Undergraduate Research in Computer Science (1-6)
- Independent research under the supervision of a faculty mentor. An IP grade may
be awarded at discretion of instructor. May be repeated for a total of 6 hours credit. See
department chair.
- 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.
See department chair.
Return to the top of the page
Return to the UNCA Catalog: Table of Contents
Comments to: webmaster@unca.edu