UNCA Catalog: Courses of Instruction
UNCA Catalog: Table of Contents
Computer Science (CSCI)
Professors Brock (Chair), J. Daugherty; Associate Professor Boyd; Assistant Professors
Brownsmith, Bruce; Instructor Turner; Lecturer 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.
- 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 120 requirement.
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, spread
sheets, mathematical packages, CAD packages. This course satisfies the E115 requirement in
NCSU engineering curricula. Fall.
-
142 Computer Programming I (FORTRAN) (3)
- Computer programming using FORTRAN. Programming examples illustrating engineering,
scientific and commercial applications. Prerequisite: MATH 167 or equivalent. See department chair.
-
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. 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 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)
- 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: ART 101 or CSCI 201; MMAS 151, 222.
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, 255; 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 XML, 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. See department chair.
-
351 Computer Ethics (3)
- Philosophical, legal, social, economic and technological issues facing computer usage at home
and in the workplace. Topics include privacy and security, economic effects of computerization,
and digital copyright issues. Prerequisite: Junior standing in Computer Science. See
Department Chair.
-
358 Human Computer Interaction (MMAS 358) (3)
- Human Computer Interaction (HCI) with a user-centered design focus. Topics will include
user-interface design and implementation, user/task/work environment analysis, low and high
fidelity prototyping techniques, usability testing and evaluation. Prerequisite: CSCI 202 or
MMAS 222. 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. Spring.
-
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