- Computer Science Home
- Photo 1 Photo 2 Photo 3 Photo 4 Photo 5
- Program Info
- Department Info
- Faculty
- 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.
Computer Science Course Offerings
SUBJ NUM | Title | Sustainable | Units | Semester Offered | Course Flags |
---|---|---|---|---|---|
CINS 110 | Introductory Web Programming | 3.0 | FS | ||
This course introduces students to programming in the context of dynamic web page development. The operation of the web browser and its interaction with web servers is explored. Structure and style of web page content using HTML and CSS is introduced. The main focus of the course is programming in JavaScript to add dynamic content to a web page. Topics include all language constructs, interaction with the DOM, event-driven programming, debugging using an integrated debugger in the browser, and the use of existing APIs. 2 hours discussion, 2 hours activity.
(002298)
| |||||
CINS 220 | PCs and Peripherals | 3.0 | FS | ||
This course focuses on the hardware and software of the modern PC , currently available peripherals and upgrades, and the basics of networking. Included will be a survey of the pros and cons of different hardware choices for various PCs, peripherals, and networking options. 2 hours discussion, 2 hours activity.
(002337)
| |||||
CINS 242 | Information Systems Design | 3.0 | FA | ||
Prerequisites: CSCI 111 with a grade of C or higher.
Systems analysis and design, and the role of Information Systems in organizations. Emphasis is on the project-team design approach. Operational criteria, system feasibility, requirements, and cost trade-offs. Integration of personnel, equipment, hardware, and software. 3 hours discussion.
(002377)
| |||||
CINS 370 | Introduction to Databases | 3.0 | FS | ||
Prerequisite: CSCI 211 with a grade of C or higher.
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. 2 hours discussion, 2 hours activity.
(002338)
| |||||
CINS 448 | Computer Security | 3.0 | FS | ||
Prerequisites: CSCI 446 with a grade of C or higher.
This course provides a broad overview of some of the more technical aspects of Information Systems Security. The content is designed to prepare students for the Certified Information Systems Security Professional/Associate (CISSP/A) examination from the International Information Systems Security Certification Consortium (ISP2), including a discussion of each of the following topics: security management practices; access control systems; telecommunications and network security; cryptography; security architecture and models; operations security; applications and systems development; business continuity planning and disaster recovery planning; law, investigation, and ethics; and physical security. 3 hours lecture.
(020232)
| |||||
CINS 465 | Web Programming Fundamentals | 3.0 | FS | ||
Prerequisite: CINS 370 with a grade of C or higher.
A hands-on project course that examines languages, tools, protocols, and techniques for developing interactive and dynamic web applications. Topics include the model-view-controller pattern, document object model, server side and client side scripting, using a server side database, and web applications security. The course includes several web projects using a web programming framework. 3 hours discussion.
(002368)
| |||||
CINS 490 | Computer Information Systems Capstone | 3.0 | FS | ||
Prerequisites: CSCI 311 with a grade of C or higher, senior standing.
This capstone course provides a culminating activity in computer information systems. Students work independently to specify, design, develop, test, and document a complete information systems application under faculty supervision. Students present status reports at weekly meetings, and present their finished project at the end of the semester. 9 hours supervision.
(020996)
| |||||
CINS 548 | Advanced Computer Security | 3.0 | FA | ||
Prerequisite: CINS 448 with a grade of C or higher.
This course provides advanced training in the engineering and management of information systems security, particularly those systems that play a role in U.S. national security, and is aimed at professionals who plan to work either as contractors or federal employees in the area of national security or defense. The course also prepares students for the Information Systems Security Engineering Professional (ISSEP) certification test prepared by the International Information Systems Security Certification Consortium (ISP2) in collaboration with the National Security Agency. Specific areas of concentration are systems security engineering; certification and accreditation (C&A); technical management; and U.S. Government Information Assurance (IA) regulations. 3 hours lecture.
(020234)
| |||||
CINS 570 | Advanced Database Management Systems | 3.0 | SP | ||
Prerequisite: CINS 370 with a grade of C or higher 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 hours discussion, 2 hours activity.
(002381)
| |||||
CINS 574 | Advanced Database Architecture and Administration I | 3.0 | INQ | ||
Prerequisite: CINS 370 with a grade of C or higher.
Students install the latest release of a robust, scalable database system such as Oracle, and create and maintain a sample database. Topics covered include advanced database architecture, intro performance monitoring, network configuration, database security, user management, and backup/recovery techniques with powerful admin tools. Prepares for Oracle Certification. 3 hours lecture.
(020614)
| |||||
CINS 674 | Database Administration II: Advanced Tuning and Recovery | 3.0 | INQ | ||
Prerequisites: CINS 574 or faculty permission.
Students install database software components and create and administer their own example databases. Features hands-on diagnosis and recovery in diverse, complex scenarios using advanced backup and recovery tools. Proactive performance analysis and tuning of applications, storage structures and database processes. Prepares for Adv. Oracle Certification. 3 hours discussion.
(002431)
|
SUBJ NUM | Title | Sustainable | Units | Semester Offered | Course Flags |
---|---|---|---|---|---|
CSCI 101 | Introduction to Computer Science | 3.0 | FS | ||
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, and 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 hours discussion, 2 hours activity.
(002280)
| |||||
CSCI 102 | Living With Technology | 3.0 | FS | GE | |
This course explores the impact of technology on our lives. Aspects of our complex technological society are investigated through study of the various forms technology takes, and readings in contemporary literature regarding the impact these technologies have on individuals. Students are encouraged to reflect on technology in their own lives through journaling, and to discourse with their peers on the benefits and harm to individuals, society, and humanity that modern technology presents. 3 hours discussion. This is an approved General Education course.
(020623)
| |||||
CSCI 111 | Programming and Algorithms I | 4.0 | FS | ||
Prerequisite: MATH 119 (or high school equivalent).
A first-semester programming course, providing an overview of computer systems and an introduction to problem solving and software design using procedural object-oriented programming languages. Coverage includes the software life cycle, as well as algorithms and their role in software design. Students are expected to design, implement, and test a number of programs. 3 hours lecture, 2 hours activity.
(002281)
| |||||
CSCI 111X | Programming Problem Session | 1.0 | FS | ||
Corequisite: CSCI 111.
This course supplements CSCI 111 with additional programming activities. It provides students with the opportunity for additional assistance in developing programming abilities. 2 hours activity. Credit/no credit grading.
(020718)
| |||||
CSCI 144 | Introduction to UNIX/Linux | 3.0 | FA | ||
A comprehensive introduction to using the UNIX/Linux operating system and the Windows based Cygwin Linux emulator. The course includes hands-on experience with commands, files, and tools. Topics include basic UNIX/Linux commands, filename expansion, command history, command editing, using the UNIX file system (files, file protection, directories), I/O redirection, network utilities, text utilities (editors, office tools), managing processes, pipes, regular expressions, basic shell programming, and advanced utilities (sed, grep, awk). 2 hours discussion, 2 hours activity.
(002302)
| |||||
CSCI 198 | Special Topics | 1.0 -3.0 | FS | ||
Prerequisites: Department permission.
This course is for special topics offered for 1.0-3.0 units. Typically the topic is offered on a one-time-only basis and may vary from term to term and be different for different sections. See the Class Schedule for the specific topic being offered. 3 hours supervision.
(002307)
| |||||
CSCI 199 | Special Problems | 1.0 -3.0 | FS | ||
Prerequisite: Faculty permission.
This course is a special topic offered for 1.0-3.0 units. You must register directly with a supervising faculty member. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading.
(021848)
| |||||
CSCI 211 | Programming and Algorithms II | 4.0 | FS | ||
Prerequisite: CSCI 111 with a grade of C or higher.
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 are expected to design, implement, test, and analyze a number of programs. 3 hours lecture, 2 hours activity.
(002282)
| |||||
CSCI 211X | Programming Problem Session | 1.0 | FS | ||
Corequisite: CSCI 211.
This course supplements CSCI 211 with additional programming activities. It provides students with the opportunity for additional assistance in developing programming abilities. 2 hours activity. Credit/no credit grading.
(020719)
| |||||
CSCI 217 | Discrete Mathematics | 3.0 | INQ | ||
Prerequisites: Completion of ELM, CSCI 111 with a grade of C or higher, MATH 119 (or equivalent).
Offers an intensive introduction to discrete mathematics as used in computer science. Topics include sets, relations, propositional and predicate logic, basic proof methods including mathematical induction, digital logic circuits, complexity of algorithms, elementary combinatorics, and solving linear recurrence relations. 3 hours discussion.
(002331)
| |||||
CSCI 221 | Assembly Language Programming | 3.0 | INQ | ||
Prerequisites: CSCI 211 with a grade of C or higher. CSCI 217 or MATH 217 recommended.
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 hours lecture, 2 hours activity.
(002290)
| |||||
CSCI 300 | Computer Science Seminar | 1.0 | FS | ||
Prerequisite: CSCI 211 with a grade of C or higher.
This course exposes students to computer science topics not normally covered in the computer science curriculum. Guest speakers include faculty (including from other departments), students, alumni, and members of the computing industry. Topics include current computer science research and software development issues. Specific topics may include software development tools, bioinformatics, human computer interaction, security, machine learning, specific corporate approaches to software development, dev-ops, software job interviews, programming languages, simulation, graphics, game development, web and mobile applications, cloud computing, and networks. 1 hour lecture. You may take this course more than once for a maximum of 3.0 units. Credit/no credit grading.
(021889)
| |||||
CSCI 301W | Computer's Impact on Society (W) | 3.0 | FS | GW W | |
Prerequisites: Completion of GE Written Communication (A2) requirement; 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. 3 hours discussion. This is an approved Graduation Writing Assessment Requirement course; a grade of C- or higher certifies writing proficiency for majors. This is an approved Writing Course.
(002309)
| |||||
CSCI 311 | Algorithms and Data Structures | 4.0 | FS | ||
Prerequisites: CSCI 211; CSCI 217 or MATH 217, all with a grade of C or higher.
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. 3 hours lecture, 2 hours activity.
(002325)
| |||||
CSCI 311X | Programming Problem Session | 1.0 | FS | ||
Corequisite: CSCI 311.
This course supplements CSCI 311 with additional programming acivities. It provides students with the opportunity for additional assistance in developing programming abilities. 2 hours activity. Credit/no credit grading.
(020721)
| |||||
CSCI 315 | Programming Languages | 3.0 | SP | ||
Prerequisite: CSCI 211 with a grade of C or higher.
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 logical and functional programming. 3 hours discussion.
(002323)
| |||||
CSCI 340 | Operating Systems | 4.0 | FS | ||
Prerequisites: CSCI 311, EECE 320, both grade of C or higher.
Operating system fundamentals, including history, process and thread management, concurrency with semaphores and monitors, deadlocks, storage management, file systems, I/O, and distributed systems. 3 hours discussion, 2 hours activity.
(002328)
| |||||
CSCI 344 | Shell Programming | 3.0 | SP | ||
Prerequisite: CSCI 144 or CSCI 211 with a grade of C or higher.
Shell programming provides an easy means to perform a wide range of text/data manipulation, system administration, network administration, and software development tasks in the UNIX, Linux, and Windows environments. This course provides an introduction to shell programming and the types of problems for which it is well suited. Topics include regular expressions, advanced UNIX/Linux utilities, the Bash scripting language, and the Perl programming language. Students solve a variety of tasks using UNIX/Linux utilities, Bash Script, and Perl. This course is recommended for students pursing careers in software development, information technology, and information systems. 2 hours discussion, 2 hours activity.
(002330)
| |||||
CSCI 385 | Introduction to Data Science | 3.0 | FA | ||
Prerequisites: CSCI 111, MATH 130, or MATH 230; MATH 109 or MATH 120. This course is also offered as MATH 385.
Data Science is the science of learning from data in order to gain useful predictions and insights. The course provides an overview of the wide area of data science, with a particular focus on the tools required to store, clean, manipulate, visualize, model, and ultimately extract information from various sources of data. Topics include the analytics life cycle, data integration and modeling in R/Python, relational databases and SQL, text processing and sentiment analysis, and data visualization. Emphasis is placed on reproducible research, code sharing, version control, and communicating results to a non-technical audience. 3 hours discussion.
(021756)
| |||||
CSCI 389 | Industry Internship | 1.0 -3.0 | FS | ||
Prerequisite: Department permission.
This internship is offered for 1.0-3.0 units. Students must register directly with a supervising faculty member. 3 hours supervision. You may take this course more than once for a maximum of 15.0 units. Credit/no credit grading.
(002342)
| |||||
CSCI 398 | Special Topics | 1.0 -3.0 | FS | ||
Prerequisites: Department permission.
This course is for special topics offered for 1.0-3.0 units. Typically the topic is offered on a one-time-only basis and may vary from term to term and be different for different sections. See the Class Schedule for the specific topic being offered. 3 hours lecture.
(002350)
| |||||
CSCI 399 | Special Problems | 1.0 -3.0 | FS | ||
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. 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 department chair. 9 hours supervision. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading.
(002351)
| |||||
CSCI 400 | Computer Science Activity | 1.0 | FS | ||
Prerequisite: Membership in a Computer Science student professional organization.
Co-curricular activity associated with one or more student professional organizations. Examples include collegiate competitions, such as the ACM Programming Contest, and service projects. Substantial participation is required (approximately 30 hours minimum). 2 hours activity. You may take this course more than once for a maximum of 3.0 units. Credit/no credit grading.
(020713)
| |||||
CSCI 430 | Software Engineering | 3.0 | FS | ||
Prerequisite: CSCI 311 with a grade of C or higher.
An overview of software engineering principles, practice, and tools. Topics include: agile software engineering methodologies, requirements engineering, test-driven development, software design patterns, MVC architecture, version control, software metrics, and static analysis. Students work in groups to design and implement a semester-long open source software project. 2 hours discussion, 2 hours activity.
(002310)
| |||||
CSCI 431 | Usability Engineering | 3.0 | SP | ||
Prerequisites: Junior standing, previous programming experience.
A study of user experience (UX) with an emphasis on user-centered design and usability evaluation methods. Students practicing hands-on techniques including: usability testing, survey design, card sorting, contextual inquiry, wireframing, and rapid prototyping. Students work in multidisciplinary teams on user experience design projects. 2 hours discussion, 2 hours activity.
(020615)
| |||||
CSCI 444 | Fundamental UNIX System Administration | 3.0 | FA | ||
Prerequisites: CSCI 144 or CSCI 211 with a grade of C or higher.
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 hours discussion, 2 hours activity.
(002372)
| |||||
CSCI 446 | Introduction to Computer Networks and Network Management | 3.0 | FS | ||
Prerequisites: CSCI 211; CINS 220 or EECE 237 all with a C or higher.
This course is an introduction to basic networking technologies and network management concepts, including major network operating systems, communication architecture focusing on ISO and Internet models with discussion of current standards and protocols. Significant laboratory work using current networking equipment reinforces lectures and provides fundamental experience with router and switch management. 2 hours lecture, 3 hours laboratory.
(002340)
| |||||
CSCI 485 | Advanced Topics in Data Science | 3.0 | SP | ||
Prerequisites: CSCI 385 or MATH 385; MATH 456 (may be taken concurrently). This course is also offered as MATH 485.
Getting connected to current events in Data Science and building an online presence. Ethics of predictive analytics and privacy and open data. Reporting and dissemination of research using interactive dashboards and web-publishing. Introduction to current scalable technologies to handle Big Data. Introduction to advanced statistical analysis and machine learning techniques for Data Science. 3 hours lecture.
(021890)
| |||||
CSCI 490 | Computer Science Capstone | 3.0 | FS | ||
Prerequisite: CSCI 311 with a grade of C or higher, Senior standing.
This capstone course provides a culminating activity in computer science. Students will work independently to specify, design, develop, test, and document a complete software application under faculty supervision. Students present status reports at weekly meetings, and present their finished project at the end of the semester. 9 hours supervision.
(002343)
| |||||
CSCI 498 | Topics in Computer Science | 1.0 -3.0 | INQ | ||
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. Standard letter grading only. 3 hours discussion.
(002389)
| |||||
CSCI 499 | Special Problems | 1.0 -3.0 | FS | ||
Prerequisites: Faculty permission.
This course is an independent study of special problems offered for 1.0-3.0 units. You must register directly with a supervising faculty member. 3 hours supervision. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading.
(002390)
| |||||
CSCI 499H | Honors Research Project/Thesis | 3.0 | FS | ||
Prerequisite: Acceptance into Honors in the Major program.
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. 9 hours supervision.
(002391)
| |||||
CSCI 511 | Advanced Object-Oriented Programming | 3.0 | FA | ||
Prerequisites: CSCI 311 with a grade of C or higher.
This course is dedicated to the analysis, design, and implementation of programming problems using an object-oriented approach. Modern object-oriented languages are utilized. Topics include inheritance, the underlying implementation of polymorphism, exception handling, extending existing system libraries, and approaching algorithm development from an object-oriented perspective. 3 hours lecture.
(002356)
| |||||
CSCI 511H | Object-Oriented Programming - Honors | 3.0 | FA | ||
Prerequisites: CSCI 311 with a grade of C- or higher; acceptance into Honors in the Major program.
Honors version of CSCI 511. In addition to completing all course requirements for CSCI 511, the student is required to research a topic related to Object-Oriented Programming, and propose an independent study to be completed during the following semester. A written research report and proposal is required. A grade of B or better in this course is necessary in order to use it to earn the Honors in the Major distinction. 3 hours discussion.
(020790)
| |||||
CSCI 515 | Compiler Design | 3.0 | FS | ||
Prerequisite: CSCI 311 with a grade of C or higher.
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. 3 hours discussion.
(002369)
| |||||
CSCI 515H | Compiler Design - Honors | 3.0 | FS | ||
Prerequisites: CSCI 311 with a grade of C or higher, acceptance into Honors in the Major Program.
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. Honors students enrolled in this course are required to implement a significant additional feature in the semester project and to develop an approved proposal in the area of languages/compilers for their Honors Research Project/Thesis. 3 hours discussion.
(020185)
| |||||
CSCI 530 | Software Testing and Quality Assurance | 3.0 | FA | ||
Prerequisite: CSCI 430 with a grade of C or higher.
In-depth study of software verification and validation with a concentration on software testing methods, tools, and metrics. Topics include Test-Driven Development, unit testing, integration testing, acceptance testing, as well as software and testing metrics. Students work individually as well as in teams to verify and validate large open source projects. 3 hours discussion.
(021620)
| |||||
CSCI 540 | Systems Programming | 3.0 | FA | ||
Prerequisite: CSCI 340 with a grade of C or higher.
A hands-on project course that examines the development of systems software. It provides an introduction to writing low level programs in the UNIX/Linux environment. Topics include using system calls, processes, threads, concurrency, process/thread synchronization, signals, and interprocess communication. The course includes several large programming projects which provide students solid experience in lower level programming. 3 hours discussion.
(002378)
| |||||
CSCI 546 | Computer Network Management | 3.0 | SP | ||
Prerequisite: CSCI 446 with a grade of C or higher.
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 laboratory environment. 2 hours lecture, 3 hours laboratory.
(002382)
| |||||
CSCI 550 | Introduction to Design and Analysis of Algorithms | 3.0 | FS | ||
Prerequisites: CSCI 217 or MATH 217, CSCI 311, all with a grade of C or higher.
Students design, implement, and analyze algorithms for solving problems. Topics include dynamic programming, graphs (topological sort, strongly connected components), shortest paths (Bellman-Ford, Floyd-Warshall), minimum spanning tree (Kruskal's), flow network (max flow, min cut, maximum bipartite matching), string search (suffix tree, suffix array, Burrows-Wheeler's Transform, longest common prefix array). In addition, basic automata computability and complexity are covered, including finite automata, regular expressions, context free grammars, Turing machines, P and NP classes, and NP complete classes and problems. This course integrates knowledge of data structures, algorithms, and programming. 3 hours discussion.
(002371)
| |||||
CSCI 551 | Numerical Methods and Parallel Programming | 4.0 | FS | ||
Prerequisites: CSCI 311 with a grade of C or higher, MATH 109 or MATH 121.
Surveys numerical methods and parallel programming. Parallel architectures and algorithms for scientific programming applications, solution of simultaneous linear and non-linear equations, iterative techniques, matrix methods, and error analysis. Development of parallel algorithms, with a focus on efficient implementation and performance. 4 hours discussion.
(002332)
| |||||
CSCI 566 | Computer Graphics Programming | 3.0 | FA | ||
Prerequisite: CSCI 311 with a grade of C or higher.
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. 3 hours discussion.
(002363)
| |||||
CSCI 567 | Mobile Application Development | 3.0 | FA | ||
Prerequisite: CSCI 311 with a grade of C or higher.
Implementation of native mobile applications using a modern framework . Topics include the model-view-controller design pattern, multi-touch event handling, sensory input handling, web service integration, multi-threading and custom user interface design. 3 hours discussion.
(002365)
| |||||
CSCI 568 | Digital Image Processing | 3.0 | SP | ||
Prerequisite: CSCI 311 with a grade of C or higher.
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. 3 hours discussion.
(002407)
| |||||
CSCI 580 | Artificial Intelligence | 3.0 | FS | ||
Prerequisite: CSCI 311 with a grade of C or higher.
An introduction to the basic principles, techniques, and applications of Artificial Intelligence. Coverage includes knowledge representation, logic, inference, 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. 3 hours discussion.
(002360)
| |||||
CSCI 580H | Artificial Intelligence - Honors | 3.0 | FS | ||
Prerequisites: CSCI 311 with a grade of C or higher, acceptance into Honors in the Major program.
An introduction to the basic principles, techniques, and applications of Artificial Intelligence. Coverage includes knowledge representation, logic, inference, problem solving, search algorithms, game theory, perception, learning, planning, and agent design. Students program with AI language tools. Additional areas may include expert systems, machine learning, natural language processing, and computer vision. Honors students enrolled in this course are held to more rigorous standards and expectations in both assignments, participation, and examination than students in CSCI 580. They are also expected to perform preliminary work for the follow-up course, typically in the form of a literature review and proposal. 3 hours discussion.
(021882)
| |||||
CSCI 582 | Bioinformatics | 3.0 | SP | ||
Prerequisites: CSCI 311 with a grade of C or higher; MATH 105, MATH 314, or MATH 350 (may be taken concurrently).
An introduction to computational methods for Next Generation Sequencing data analysis. Topics include mapping sequenced reads back to a reference genome; approximate string matching; intro to biostatistics; probability distribution, hypothesis testing; identification of SNPs (single polymorphisms); analysis of RNA-seq data; mapping RNA-seq reads, identification of splice-junctions, analysis of gene expression; genome-wide associative analysis of methylation and gene expression. 3 hours discussion.
(021619)
| |||||
CSCI 585 | Robotics and Machine Intelligence | 3.0 | SP | ||
Prerequisites: CSCI 211, EECE 237 both with a grade of C or higher.
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 traditionally associated with human cognition (e.g., perception, reasoning, intelligent navigation, vision, learning, etc.). Students conduct research and experiments with robotics hardware and software. 2 hours lecture, 2 hours activity.
(002361)
| |||||
CSCI 598 | Adv Topic in Computer Science | 1.0 -4.0 | INQ | ||
This course is a special topic offered for 1.0-4.0 units. Exploration of selected topics in Computer Science. Consult semester schedules for specific listings. Standard letter grading only.
(020184)
| |||||
CSCI 611 | Distributed Computing | 3.0 | SP | ||
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. 3 hours lecture.
(002395)
| |||||
CSCI 620 | Computer Architecture | 3.0 | FA | ||
Prerequisites: EECE 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. 3 hours seminar.
(002436)
| |||||
CSCI 630 | Software Engineering | 3.0 | SP | ||
Prerequisites: CSCI 430 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. 3 hours discussion.
(002394)
| |||||
CSCI 640 | Operating Systems | 3.0 | FA | ||
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. 3 hours seminar.
(002430)
| |||||
CSCI 650 | Design and Analysis of Algorithms | 3.0 | SP | ||
Prerequisites: CSCI 311, CSCI 217 or MATH 217 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. 3 hours seminar.
(002417)
| |||||
CSCI 682 | Topics in Artificial Intelligence | 3.0 | INQ | ||
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. Consult the Graduate Coordinator to determine how many units may be counted toward your major. 3 hours lecture. You may take this course more than once for a maximum of 12.0 units.
(002402)
| |||||
CSCI 689 | Internship | 1.0 -3.0 | FS | ||
You may take this course more than once for a maximum of 3.0 units. Credit/no credit grading.
(020142)
| |||||
CSCI 693 | Research Methods in Computer Science | 3.0 | SP | ||
Prerequisite: Candidate status.
This course interweaves three distinct themes (investigation, experimentation, and technical writing), that culminate in a comprehensive research project, presentation, and oral defense. First, the students are immersed into the research process within Computer Science. This includes an understanding of the role, ethics, and responsibility of researchers in Computer Science. The second focus is on rigorous design of experiments for the purpose of testing research hypothesis, simulations, and models, and interpreting the results of those experiments. Finally, proficiency in communication of scientific ideas and findings will be addressed, from intensive reading, critiques, technical writing and oral presentations. 3 hours discussion.
(020616)
| |||||
CSCI 697 | Independent Study | 1.0 -6.0 | FS | ||
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. 9 hours supervision. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading.
(002451)
| |||||
CSCI 698 | Seminar in Advanced Topics | 3.0 | INQ | ||
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 hours discussion, 2 hours activity.
(002446)
| |||||
CSCI 699P | Master's Project | 3.0 | FS | ||
Prerequisites: Candidate status.
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. 9 hours supervision. Credit/no credit grading.
(002461)
| |||||
CSCI 699T | Master's Thesis | 1.0 -6.0 | FS | ||
Prerequisites: Candidate status.
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. 9 hours supervision. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading.
(002453)
|