UNCA Catalog: Courses of Instruction
UNCA Catalog: Table of Contents

Computer Science (CSCI)

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.

  1. 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.
  2. Required courses outside the major--23 hours: MATH 191, 192, 251; PHYS 221, and either 222 or 231; STAT 225.
  3. Other departmental requirements--Seniors must demonstrate in-depth knowledge in one aspect of computer science by completing a faculty-approved project. Design and implementation of hardware or software projects are encouraged. Other types of projects must exhibit good research, design and data-gathering techniques. Oral competency is demonstrated by successful completion of the oral presentation requirements in 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.

  1. Required courses in the major--38 hours, including: CSCI 107, 201, 202, 241, 255, 342, 343, 446, 448, 462; and 9 additional hours in CSCI at the 300 level or above.
  2. Required courses outside the major--20 hours: ACCT 201; ECON 306; MATH 191, 251; MGMT 220; STAT 185 or 225.
  3. Other departmental requirements--Seniors must demonstrate in-depth knowledge in one aspect of computer science by completing a faculty-approved project. Design and implementation of hardware or software projects are encouraged. Other types of projects must exhibit good research, design and data-gathering techniques. Oral competency is demonstrated by successful completion of the oral presentation requirements in 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.

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


Return to the UNCA Catalog: Table of Contents
Comments to: webmaster@unca.edu