Applied Computer Graphics Course Offerings
Please see the section on "Course Description Symbols and Terms" in The University Catalog for an explanation of course description terminology and symbols, the course numbering system, and course credit units. All courses are lecture and discussion and employ letter grading unless otherwise stated. Some prerequisites may be waived with faculty permission. Many syllabi are available on the Chico Web.
| APCG | 110 | Computer-Assisted Art I | 3.0 Fa/Spr |
Provides an introduction to computer graphics and art. Students use the computer as a tool for creating static and animated images. Basic instruction in design and color relationships is provided. The writing component may include research reports from current graphics publications and/or attendance and discussion of art exhibitions. 1.0 hour discussion, 4.0 hours activity. This is an approved General Education course. Formerly CSCI 040.
| APCG | 112 | Digital Photography | 3.0 Fa/Spr |
An introduction to digital photography that explores the composition and aesthetics of photography. Emphasis is on concepts and techniques of image manipulation software. The course addresses printing and displaying photographic portfolios. 2.0 hours lecture, 2.0 hours activity. Formerly CSCI 040.
| APCG | 117 | Concept Design and Storyboarding | 3.0 Fa/Spr |
An in-depth look into pre-production process as it directly pertains to storyboard creation, character development and design, pre-visualization techniques, and principles of concept design. 2.0 hours lecture, 2.0 hours activity. Formerly APCG 046.
| APCG | 330 | 3-D Computer Modeling | 3.0 Fa/Spr |
Prerequisites: APCG 110 or previous computer graphics experience.
This course uses 3-D modeling and animation software in developing 3-D computer models and creating presentations of those models in story-telling still scenes. The tools, techniques, and topics studied include basic and advanced 3-D modeling tools, 3-D scene layout, lighting, texturing, and rendering. 1.0 hour discussion, 4.0 hours activity. Formerly CSCI 140.
| APCG | 340 | Computer Animation | 3.0 Fa/Spr |
Prerequisites: APCG 110 and APCG 330 or permission of instructor.
For both majors and non-majors. The concepts of computer imaging and animation are taught in this project-based class. Focus is on the principles of animation and how they apply to current computer animation techniques. This class emphasizes both creative and technical skills. 1.0 hour discussion, 4.0 hours activity. Formerly CSCI 240.
| APCG | 345 | Advanced Animation Pre-Production and Story Development | 3.0 Fa/Spr |
Prerequisites: ENGL 130 (or its equivalent) with a grade of C- or higher, APCG 117.
Concentration on story development as it relates to Computer Animation. Students write a treatment, script, and storyboard for an animation project. Emphasis is placed on understanding the story structure, writing interesting dialogue and developing an in-depth storyboard. The course gives students a practical approach to creating the pre-production component of an animated "short." Formerly APCG 141.
| APCG | 360 | Web Page Design | 3.0 Fall |
Prerequisites: CSCI 111
This course focuses on the study of design and implementation issues for Web page creation and maintenance from the perspective of programming and writing code. Topics include page purpose, content, audience, navigation, speed, style, and maintenance issues, mark-up language, scripting. Students are required to work collaboratively to produce functional sites and make verbal presentations. 2.0 hours lecture, 2.0 hours activity. Formally CSCI 145.
Computer Science Course Offerings
Please see the section on "Course Description Symbols and Terms" in The University Catalog for an explanation of course description terminology and symbols, the course numbering system, and course credit units. All courses are lecture and discussion and employ letter grading unless otherwise stated. Some prerequisites may be waived with faculty permission. Many syllabi are available on the Chico Web.
| CSCI | 100 | Computer Literacy | 3.0 Fa/Spr |
Introduction to the computer for non-computer science students. History of the computer, review of hardware, software, and a range of computer applications are considered. The social impact and future of computers for communication systems are discussed. An intergrated software package for work processing, spreadsheets, databases, and presentation is used. 2.0 hours lecture, 2.0 hours activity. Special fee required; see The Class Schedule. Formerly CSCI 010. CAN CSCI 2.
| CSCI | 101 | Introduction to Computer Science | 3.0 Fa/Spr |
Students who have had limited experience with computers should take CSCI 101 before CSCI 111. CSCI 101 provides an overview of the fundamentals of computer science. Number systems and data representation are introduced. An overview of hardware, including the control unit, memory, the ALU, I/O is provided. Software is introduced with an overview of operating systems, programming languages, applications, and software tools. Students are exposed to common operating systems and applications. Student also design and implement several programs. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 014.
| CSCI | 110 | Introduction to Applications Programming | 3.0 Fa/Spr |
Prerequisites: CSCI 111.
This course introduces programming to computer programmers and systems analysts using an integrated graphical development environment. Event-driven, visual, and object-oriented programming concepts are presented. Course emphasis is on the total program development process <>problem analysis, design, coding, testing, debugging, and maintenance. Programming projects involve common business problems that require data entry, display of calculated results, report requests, conditional testing, arithmetic operations, array processing, data validation, searching, sorting, reading and writing files, database. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 054.
| CSCI | 111 | Programming and Algorithms I | 3.0 Fa/Spr |
Prerequisites: At least one year of high school algebra and strong computer skills or CSCI 101.
A first-semeser object-oriented programming course, providing an overview of computer systems and an introduction to problem solving, object-oriented software design, and programming. Coverage includes the software life cycle, as well as algorithms and their role in software design. Students are expeced to design, implement, and test a number of programs. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 015A. CAN CSCI22.
| CSCI | 112 | Programming and Algorithms II | 3.0 Fa/Spr |
Prerequisites: Grade of C- or better in CSCI 111 (or EECE 135 for engineering majors).
A second semester object-oriented programming course in computer science that emphasizes problem solving. This course continues the study of software specification, design, implementation, and debugging techniques while introducing abstract data types, fundamental data structures and associated algorithms. Coverage includes dynamic memory, file I/O, linked lists, stacks, queues, trees, recursion, and an introduction to the complexity of algorithms. Students will be expected to design, implement, test, and analyze a number of programs. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 015B. CAN CSCI24.
| CSCI | 117 | Programming Problem Session | 1.0 Fa/Spr |
Prerequisites: Concurrent enrollment in CSCI 111.
Designed to supplement CSCI 111 with additional applications and extended explanations of concepts encountered in programming. Provides the student with the opportunity for additional assistance in basic programming skills. 2.0 hours activity. Credit/no credit grading only. Formerly CSCI 015X.
| CSCI | 118 | Programming Problem Session | 1.0 Fa/Spr |
Prerequisites: Concurrent enrollment in CSCI 112.
Designed to supplement CSCI 112 with additional applications and extended explanations of concepts encountered in programming. Provides the student with the opportunity for additional assistance in basic programming skills. 2.0 hours activity. Credit/no credit grading only. Formerly CSCI 015Y.
| CSCI | 144 | Introduction to the UNIX Operating System | 3.0 Fa/Spr |
This course is designed as a comprehensive introduction to the UNIX operating system. It leads the student through logging in, introductory and advanced levels of the visual editor (vi), file management, the directory structure, how UNIX handles files and processes, job control, process monitoring, shell scripts, basic shell utilities, and power utilities. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 057.
| CSCI | 221 | Assembly Language Programming | 3.0 Fa/Spr |
Prerequisites: CSCI 112.
Topics include number systems and their rules for arithmetic; basic central processing unit (CPU) organization concepts such as registers, data paths, the arithmetic and logic unit (ALU) and the interface to random access memory (RAM); instruction formats, addressing modes and their uses with a variety of data structures; and parameter passing techniques including the use of a stack frame. The use of good programming methodologies to develop and document algorithms at the assembly language level is emphasized. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 051A. CAN CSCI10.
| CSCI | 301 | Computer's Impact on Society | 3.0 Fa/Spr |
Prerequisites: Junior standing.
Impact of computers and high-tech systems on people, institutions, organizations, and environment. Examines the following: law, medicine, education, government, data banks, privacy, computer security, changing work, automation, robots, expert systems, AI, social responsibility, ethics, war, conflict resolution. Includes weekly reading, midterm, and final writing projects. Weekly lectures, discussions, films, and writing. No programming. This is an approved General Education course. Formerly CSCI 110.
| CSCI | 305 | Project Requirements, Design, and Testing | 3.0 Fa/Spr |
Prerequisites: ENGL 130; CSCI 112 or EECE 221.
Students are introduced to methodologies used to specify system descriptions. Hardware and software documentation standards are described. Methodologies for modeling systems and development of presentation materials are discussed, and students are required to make both written and oral presentations. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 180. This course is also offered as EECE 335.
| CSCI | 311 | Algorithms and Data Structures | 3.0 Fa/Spr |
Prerequisites: Grade of C- or better in CSCI 112.
This course focuses on object-oriented methodologies in designing and implementing a variety of data structures and algorithms. Coverage includes recursion, trees, search structures, hashing, heaps, sorting algorithms, and graph algorithms. Data structure and algorithm combinations will be studied and analyzed along with their relative merits using both mathematical and empirical measurements. The course includes a number of large programming assignments focusing on object-oriented software engineering and algorithm development. Students will be required to design, implement, test, and analyze their programs in at least one object-oriented language. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 151.
| CSCI | 313H | Mind in the Machine - Honors | 3.0 Spring |
Prerequisites: Acceptance into the Honors Program, faculty permission.
An Honors seminar that explores the psychological, philosophical, social, biological, and technical aspects of machine "minds." Explores core issues within a subset of the disciplines that comprise the cognitive sciences, including artificial intelligence, philosophy, and psychology. Readings and discussions focus on theories of artificial intelligence and classic themes in human cognition and philosophy, such as determinism, consciousness, free-will, and the mind-body problem. The course focuses on increasing one's capability to express beliefs and evaluate arguments concerning various issues. This is an approved General Education course. Formerly CSCI 116H. This course is also offered as PSYC 332H.
| CSCI | 315 | Programming Languages | 3.0 Fa/Spr |
Prerequisites: CSCI 112.
An investigation into the structure and syntax of current programming languages, including binding, scoping, data types, transfer-of-control structures, subprograms, abstract data types, object-oriented programming, and functional programming. Formerly CSCI 150.
| CSCI | 317 | Linear Programming Applications | 3.0 Inquire |
Prerequisites: CSCI 112 equivalent.
Mathematical optimization and managerial decision techniques. Simplex method with applications, transportation problems, assignment problems, integer programming, network algorithms, and inventory models. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 160.
| CSCI | 320 | Computer Architecture | 3.0 Fa/Spr |
Prerequisites: CSCI 221.
The course introduces basic digital logic design techniques and integrates the topics of assembly language programming, computer organization, and computer design. Topics include the design of the arithmetic and logic unit (ALU), hardware multiplication and division, multiple clock cycle implementations, pipelined implementations, hazard detection and forwarding, design of a memory hierarchy, system busses and the design of a direct memory access (DMA) controller, cache consistency in multiprocessor systems, and implementation of a snooping cache. Formerly CSCI 171.
| CSCI | 323 | Systems Architecture | 3.0 Inquire |
Prerequisites: ENGL 130 (or its equivalent) with a grade of C- or higher; CSCI 311, CSCI 320. Concurrent enrollment in CSCI 340 is recommended.
Definition of problems relating to interfacing processors and peripherals in computer systems. Channel and bus structures, bandwidth computations, performance evaluation, feasibility studies, and methods of systems analysis. This is a writing proficiency, WP, course; a grade of C- or better certifies writing proficiency for majors. Formerly CSCI 172.
| CSCI | 330 | Software Engineering | 3.0 Fa/Spr |
Prerequisites: CSCI 311, ENGL 130 (or its equivalent) with a grade of C- or higher.
Special problems in the development of large software systems. Software life cycle, requirements analysis, structural design, implementation, costing, standards, verification, and validation. A group project is required. This is a writing proficiency, WP, course; a grade of C- or better certifies writing proficiency for majors. Formerly CSCI 112.
| CSCI | 340 | Operating Systems Programming | 3.0 Fa/Spr |
Prerequisites: CSCI 311, CSCI 320.
Operating system fundamentals, including history, process and thread management, concurrency with semaphores and monitors, deadlocks, storage management, file systems, I/O, and distributed systems. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 152.
| CSCI | 344 | UNIX Power Utilities and Shell Programming | 3.0 Fall |
This is an intermediate level UNIX class. During the first part of the course, UNIX users will learn to use (or brush up on their facility with) power utilities such as sed, grep, awk, find, cut, paste, and join as preparation for creating shell scripts. Shell programming in the latter part of the course will focus primarily on the Bourne shell; however, some of the special features of C-shell and Korn shell scripts will be covered. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 157.
| CSCI | 346 | Introduction to Computer Networks and Network Management | 3.0 Fa/Spr |
Prerequisites: CSCI 111.
This course is an introduction to basic knowledge of networking technologies and network management concepts, including major network operating systems, communication protocols, and the supporting network hardware and software. The course emphasizes the hand-on experience of network management in a laboratory environment. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 178.
| CSCI | 351 | Numerical Methods Programming | 3.0 Inquire |
Prerequisites: CSCI 112 or EECE 135; MATH 220.
Scientific programming methods, solution of simultaneous linear and non-linear equations, iterative techniques, matrix methods, error analysis, development of specific and general algorithms. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 165.
| CSCI | 380 | Machines, Brains, and Minds | 3.0 Fa/Spr |
Prerequisites: Junior standing, faculty permission.
An examination of the emergence of artificial mind in machines, with special attention to related issues in the philosophy of mind and cognitive science. This is an approved General Education course. Formerly CSCI 122. This course is also offered as PHIL 364.
| CSCI | 381 | Language, Intelligence, and Computation | 3.0 Fall |
This course presents a practically based treatment of artificial intelligence, and a general introduction of technical issues associated with the development of intelligent systems. The course addresses issues of knowledge representation and natural language processing in particular, from a computational perspective. Students write programs to perform simple analyses of natural language and logical reasoning. Students also explore the limits of computation, using practical and theoretical approaches. 2.0 hours lecture, 2.0 hours activity. This is an approved General Education course. Formerly CSCI 123.
| CSCI | 389 | Industry Internship | 1.0-3.0 Fa/Spr |
Prerequisites: CSCI 311, faculty permission.
This internship is offered for 1.0-3.0 units. Students must register directly with a supervising faculty member. You may take this course more than once for a maximum of 15.0 units. Credit/no credit grading only. Formerly CSCI 189.
| CSCI | 399 | Special Problems | 1.0-3.0 Fa/Spr |
Prerequisites: Faculty permission.
This course is a special topic offered for 1.0-3.0 units. You must register directly with a supervising faculty member. Special problems in computer science. Limited to a maximum of 4 units during degree program. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading only. Formerly CSCI 199.
| CSCI | 444 | Fundamental UNIX System Administration | 3.0 Spring |
Prerequisites: CSCI 344 or permission of instructor.
This course guides students through the fundamental responsibilities of UNIX system administration. Topics include file system monitoring, file and directory archiving, user account management, shutdown and rebooting sequences, system backups, system log responsibilities, and basic system security. Projects focus on the creation of shell scripts to automate system administration tasks. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 257.
| CSCI | 465 | Web Programming Fundamentals | 3.0 Spring |
Prerequisites: CSCI 311.
This course is a comprehensive introduction to the major technologies used in the construction of interactive, client-server Web sites. Emphasis is placed on the protocols and standards used for exchanging data between the client and server programs. Both client and server side implementation methods are discussed using programming and scripting languages for the creation of dynamic Web pages. The use of direct client-to-server network communication, performance implications for implementation technologies, and techniques for increasing Web site security are discussed. Formerly CSCI 245.
| CSCI | 467 | Graphical User Interface Design | 3.0 Fall |
Prerequisites: CSCI 311.
Design of graphical user interfaces. Topics include issues, theories, principles, and guidelines in human-computer interaction; user interface design considerations and strategies; and techniques for evaluating user interfaces. Formerly CSCI 232.
| CSCI | 470 | Database Management | 3.0 Fa/Spr |
Prerequisites: CSCI 112.
This course provides an introduction to the theory and methodology for database design and implementation. Topics may include a survey/lecture component as well as a project component. The survey component covers entity- relationship modeling, relational algebra and calculus theories, data definition and data manipulation languages such as SQL, file structures, transactions, concurrency control, recovery, tuning and optimization, and object-oriented databases. The project entails requirements definition, design, and implementation of a database application. Formerly CSCI 273.
| CSCI | 490 | Directed Programming Experience | 1.0-3.0 Fa/Spr |
Prerequisites: CSCI 311, faculty permission.
This course is special topic programming experience offered for 1.0-3.0 units. You must register directly with a supervising faculty member. Directed experience in programming systems and applications, weekly conferences, limited to a maximum of 4 units during degree program. Projects may consist of from one to 10 students working on software development teams. You may take this course more than once for a maximum of 3.0 units. Credit/no credit grading only. Formerly CSCI 190.
| CSCI | 498 | Advanced Topics in Computer Science | 1.0-3.0 Fa/Spr |
This course is a special topic offered for 1.0-3.0 units. Exploration of selected topics in computer science. Consult semester schedules for specific listings. Credit/no credit grading only. Formerly CSCI 298.
| CSCI | 499H | Honors Research Project/Thesis | 3.0 Fa/Spr |
Prerequisites: Open only to juniors and seniors in the major.
Open by invitation to computer science majors with a GPA of 3.5 or higher in the major. This Honors in the Major course focuses on the development of a creative research project in computer science, its presentation, discussion of relevant research materials, and the reporting of findings. Formerly CSCI 299H.
| CSCI | 511 | Object-Oriented Programming | 3.0 Fall |
Prerequisites: CSCI 311.
This class focuses on object-oriented programming using large class libraries and interactive programming environments. The course centers on good object-oriented design and implementation by addressing these issues with examples throughout the semester. Students will experience the development environment and extensively use the library of at least one object-oriented programming language. Topics include the proper use of inheritance and model/view/controller distinctions, various issues concerning multithreaded systems, I/O, exception handling, and distributed computing. Formerly CSCI 215.
| CSCI | 515 | Compiler Design | 3.0 Fa/Spr |
Prerequisites: CSCI 112.
The elements of lexical, syntactical, and semantic analysis including finite and push-down automata, top-down and bottom-up parsing, error detection and recovery, semantic actions and code generation. Formerly CSCI 250.
| CSCI | 520 | Digital Logic Design Theory | 3.0 Spring |
Prerequisites: CSCI 320.
An introduction top-down design of hardware for digital systems. Understanding the problem and developing a systematic solution for the systems' data path architecture and its sequential control circuits are emphasized. Students will design and simulate useful digital systems using a Computer-Aided design tool. Formerly CSCI 280.
| CSCI | 533 | Object-Oriented Analysis & Design | 3.0 Spring |
Prerequisites: Object-oriented programming experience.
This class is complementary to classes in Object-Oriented Programming (OOP). The focus will be on object-orientation in the earlier phases of the software life cycle: object-oriented analysis (OOA), which creates models of the world based on objects and object-oriented design (OOD), which relates specifically to the design of software. The close relationship between OOA, OOD, and OOP will be examined. Use of the Unified Modeling Language (UML) and Design Patterns will be applied. Formerly CSCI 211.
| CSCI | 540 | Multi-User Operating Systems | 3.0 Fall |
Prerequisites: CSCI 340 or permission of instructor.
An analysis of multi-user operating systems, to include an in-depth study of current techniques used by a specific multi-user OS. Formerly CSCI 272.
| CSCI | 542 | Systems Design | 3.0 Fall |
Prerequisites: CSCI 330.
Methods related to the functional design of complex computer systems. Emphasis is on the project-team design approach. Operational criteria, system feasibility, requirements, and cost tradeoffs. Integration of personnel, equipment, hardware, and software. Formerly CSCI 270.
| CSCI | 545 | Advanced Animation Production | 3.0 Fa/Spr |
Prerequisites: APCG 110, APCG 330, APCG 340.
The computer animation production process is taught in this class. Working from a script, storyboard, and/or animatic, students complete an "animated short" with accompanying sound, music, and visual effects. Emphasis is on working as a member of a computer animation team, similar to a real-world production facility. 1.0 hour discussion, 4.0 hours activity. Formerly CSCI 241.
| CSCI | 546 | Advanced Network Management | 3.0 Spring |
This course covers advanced network management concepts and implementations including a network operating system, workstation management, and domain administration. Coverage also includes TCP/IP administration and router/hub management. The course provides hands-on experience on network management in a laborary environment. Formerly CSCI 277.
| CSCI | 547 | Computer Networks | 3.0 Fa/Spr |
Prerequisites: CSCI 340.
Covers the concepts, vocabulary, design issues, and techniques currently used in the area of computer networks. Topics include history and evolution, transmission media, interconnection topology, control methods, protocols, types of nodes, network interfaces, performance analysis, diagnosis and maintenance, taxonomy, bridges, and gateways. Case studies of existing state-of-the-art networks are included. Formerly CSCI 278.
| CSCI | 550 | Theory of Computing | 3.0 Fa/Spr |
Prerequisites: MATH 317.
An introduction to formal languages, grammars, and automata theory with unsolvable problems. Formerly CSCI 256.
| CSCI | 566 | Computer Graphics Programming | 3.0 Fall |
Prerequisites: CSCI 311.
This course covers algorithms and data structures in computer graphics. Topics include output primitives and their attributes, 2-D and 3-D geometric transformations and viewing, 3-D object modeling, parallel and perspective projections, visible surface detection, illumination models, and rendering algorithms. Formerly CSCI 231.
| CSCI | 567 | Graphical User Interface Implementation | 3.0 Spring |
Prerequisites: CSCI 311.
Implementation of graphical user interfaces using object-oriented programming. Topics include event handling, the use of color, graphics contexts, text, fonts, and dialog design. Formerly CSCI 233.
| CSCI | 570 | Advanced Database Management Systems | 3.0 Fall |
Prerequisites: CSCI 470 or MINS 235.
Course topics include database application programming using a high performance, high concurrency multi-user database management system. This course covers the SQL programming language including Data Definition Language, Data Manipulation Language, and Data Control Language. The course then focuses on a procedural database programming language including control structures, composite datatypes, explicit cursors, exception handling, and writing embedded SQL applications. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 276.
| CSCI | 580 | Artificial Intelligence | 3.0 Fall |
Prerequisites: Grade of C- or better in CSCI 311.
An introduction to the basic principles, techniques, and applications of Artificial Intelligence. Coverage includes knowledge representation, logic, inferencing, problem solving, search algorithms, game theory, perception, learning, planning, and agent design. Students will program with AI language tools. Additional areas may include expert systems, machine learning, natural language processing, and computer vision. Formerly CSCI 223.
| CSCI | 583 | Expert Systems and Applications | 3.0 Spring |
Prerequisites: CSCI 112.
The basic concepts and techniques of expert systems. Emphasis is on the reasoning behind expert system design, practical problem solving (comparisons and use of expert system shell implementations), and advanced problem solving techniques such as those employed in machine learning and knowledge acquisition. Formerly CSCI 222.
| CSCI | 585 | Robotics and Machine Intelligence | 3.0 OddFa |
This course introduces students to the field of robotics by emphasizing the task of endowing machines with intelligence. Topics include various case studies of robot architectures and algorithms that facilitate embodying a robot with behaviors that are triditionally associated with human cognition (e.g., perception, reasoning, intelligent navigation, vision, learning, etc.). Students conduct research and experiments with robotics hardware and software. 2.0 hours lecture, 2.0 hours activity. Formerly CSCI 224.
| CSCI | 611 | Distributed Computing | 3.0 Spring |
Prerequisites: CSCI 511 and classified graduate standing.
This course focuses on distributed computing using the object-oriented paradigm, large class libraries, and the interactive programming environment. The course is designed to prepare the student to do commercial enterprise development. Topics may include object serialization, beans, multithreading, networking, remote objects, database connectivity, servlets, and client/server programming with enterprise and application servers. Formerly CSCI 315.
| CSCI | 619 | Topics in Programming Language Theory | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in programming language theory as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 309.
| CSCI | 620 | Computer Architecture | 3.0 Spring |
Prerequisites: CSCI 320 and classified graduate standing.
Provides a thorough and fundamental treatment of the art of computer architecture. Topics include concepts of von Neumann architectures, methods of evaluating CPU performance, instruction-set design and examples, compiler issues, instruction pipelining, superscalar processors, methods for reduction of branch penalty, memory hierarchies, I/O systems, floating-point arithmetic, and current issues in parallel processing. Formerly CSCI 380.
| CSCI | 629 | Topics in Computer Architecture | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer architecture as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 369.
| CSCI | 630 | Software Engineering | 3.0 Fall |
Prerequisites: CSCI 330 and classified graduate standing.
In-depth study and application of the planning, design, implementation, and management of complex software systems. Topics include requirements engineering, formal specifications, object-oriented analysis, design patterns, and peopleware. Teams of students will implement a large software project using a cutting edge software engineering approach. Formerly CSCI 312.
| CSCI | 635 | Software Metrics and Control | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Software development: planning, cost estimation, and control. Software metrics, configuration management, and quality controls. Reviews and walkthroughs. Formerly CSCI 310.
| CSCI | 639 | Topics in Software Engineering | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in software engineering as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 319.
| CSCI | 640 | Operating Systems | 3.0 Spring |
Prerequisites: CSCI 340 and classified graduate standing.
In-depth study of operating systems concepts including results from recent research. Topics may include processes, threads, virtual memory, file systems, distributed computing, scheduling, protection, and communication protocols. Students may be required to implement operating system projects. Formerly CSCI 372.
| CSCI | 649 | Topics in Networking | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in networking as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 349.
| CSCI | 650 | Design and Analysis of Algorithms | 3.0 Fall |
Prerequisites: CSCI 311, MATH 317, and classified graduate standing.
Algorithms from many areas of computer science will be analyzed. Topics include algorithm design techniques (such as divide-and-conquer, greedy algorithms, dynamic programming, and others), mathematical and empirical analysis of algorithms and NP-completeness. Formerly CSCI 356.
| CSCI | 655 | Compiler Theory | 3.0 Fall |
Prerequisites: CSCI 515 and classified graduate standing.
Compile and run-time organization for major language structures such as records, arrays, and control structures. Optimization techniques include peephole, common subexpression elimination, constant folding, reduction- in-strength, code motion, loop unrolling, register tracking, generating code from trees, and generating code from DAGS. Formerly CSCI 350.
| CSCI | 659 | Topics in Computer Theory | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer theory as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 359.
| CSCI | 666 | Computer Graphics | 3.0 Spring |
Prerequisites: CSCI 566 and classified graduate standing.
Advanced topics in computer graphics, including hierarchical models and scene graphics, texture and bump mapping, compositing, antialiasing, representation and rendering of curves and surfaces, physically based models and particle systems, fractals, and techniques used in scientific visualization. Formerly CSCI 331.
| CSCI | 668 | Digital Image Processing | 3.0 EvenSp |
Prerequisites: Classified graduate standing.
Explores the field of digital image processing, providing an overview of its many areas of application and delving into the details of a select set of algorithms. Topics include imaging, digital images, basic image manipulation, grey level and color enhancement, neighborhood operations, the frequency domain, geometric operations, segmentation, morphological image processing, and image compression. Formerly CSCI 332.
| CSCI | 669 | Topics in Computer Graphics | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer graphics as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 339.
| CSCI | 674 | Distributed Database Management Systems | 3.0 Inquire |
Prerequisites: Classified graduate standing.
This course covers the theory, algorithms, and methods that underlie distributed database management systems. Emphasis is placed on design issues, query decomposition and optimization, transaction management, concurrency and reliability, and current trends in distributed DBMS's. Formerly CSCI 374.
| CSCI | 679 | Topics in Database Systems | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in database systems as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 379.
| CSCI | 680 | Programming in Artificial Intelligence | 3.0 EvenSp |
Prerequisites: CSCI 580 and classified graduate standing.
This course includes writing new programs and extending previously implemented AI systems. Topics include the constructs of an AI programming language and studies in conjunction with expert system shell development, constraint propagation systems, inference engines, and others. Formerly CSCI 322.
| CSCI | 681 | Theory of Artificial Intelligence | 3.0 OddSp |
Prerequisites: CSCI 580 and classified graduate standing.
An in-depth study of current techniques, applications, and issues in artificial intelligence. Suitable topics include advanced knowledge representation; natural language understanding; machine learning; theory of functional programming; cognitive science; neural networks; philosophy and artificial intelligence. Formerly CSCI 323.
| CSCI | 682 | Topics in Artificial Intelligence | 3.0 Inquire |
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in artificial intelligence as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Formerly CSCI 329.
| CSCI | 697 | Independent Study | 1.0-6.0 Fa/Spr |
Prerequisites: Classified graduate standing, faculty permission.
This course is an independent study offered for 1.0-6.0 units. You must register directly with a supervising faculty member. Independent study and investigation of special problems in student's area of concentration. Both registration and study plan must have approval of the instructor and the student's graduate advisory committee chair. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading only. Formerly CSCI 398.
| CSCI | 698 | Seminar in Advanced Topics | 3.0 Fa/Spr |
This course is a seminar offered for 1.0-3.0 units. Typical subjects in past semesters have included microprogramming theory, operating system development, software engineering principles, data communications, analysis of algorithms, and program optimization. Consult The Class Schedule for listing and prerequisites. 2.0 hours discussion, 2.0 hours activity. Formerly CSCI 397.
| CSCI | 699P | Master's Project | 1.0-6.0 Fa/Spr |
Prerequisites: Classified graduate standing and completion of graduate literacy requirement.
This course is offered for 1.0-6.0 units. You must register directly with a supervising faculty member. Independent study and investigation of special problems in student's area of concentration. Both registration and study plan must have approval of the instructor and the student's graduate advisory committee chair. Master's Project courses earn a Credit grade upon completion. You may take this course more than once for a maximum of 6.0 units. Formerly CSCI 399P.
| CSCI | 699T | Master's Thesis | 1.0-6.0 Fa/Spr |
Prerequisites: Classified graduate standing and completion of graduate literacy requirement, faculty permission.
This course is offered for 1.0-6.0 units. You must register directly with a supervising faculty member. Independent study and investigation of special problems in student's area of concentration. Both registration and study plan must have approval of the instructor and the student's graduate advisory committee chair. Master's Thesis courses earn a Credit grade upon completion. You may take this course more than once for a maximum of 6.0 units. Formerly CSCI 399T.