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

Computer Science (CSCI)

Professor J. Daugherty (Chair); Professor W. Lang; Associate Professors Boyd, Brock

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--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.

  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--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 Networking and Hypertext (MMAS 121) (3)
Design and development of networked and/or hypertext interactive documents. Digital representation of images and sound for computer documents. Research and design methods, as well as how to utilize the media as a means of communicating original and unique ideas and visions. Corequisite: MMAS 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, object-oriented programming language (ACM CS2). Includes a formal laboratory section using program development tools. 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)
Intermediate 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: MMAS 151, 221; ART 101 or CSCI 201; or permission of instructor. Fall.

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.

410 Advanced Animation Techniques (MMAS 410)
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 program director.

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)
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.

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