|
|
Course
Descriptions
Updated
August 28, 2009
|
|
| Undergraduate
Courses |
|
CSC
201 - Introduction to Computer Programming for
Non-Majors |
|
|
|
|
|
|
|
|
|
|
|
CSC
210 - Introduction to Computer Programming |
CSC 211 - Introductory Software Lab |
| CSC
212 - Introduction to Software Development |
| CSC
213 - Fundamentals of Computer Science |
|
CSC 215 - C Programming |
|
CSC 217 - See CSC 317 |
| CSC
271 - Introduction to ORACLE: SQL & PL/SQL
|
| CSC
277 - Experimental Course Lower Division (see examples below) |
CSC
305 - Social and Ethical
Implications of Computing |
| CSC 309 - Computer Programming for Scientists and Engineers |
CSC
310 - Assembly
Language Programming and Introduction to Computer Organization |
| |
| CSC 317 - Introduction to Web Software Development |
CSC
330 - Discrete Mathematical Structures |
CSC 338 - Information Technology in a Global Society |
| |
CSC
415 - Operating Systems Principles |
| |
|
| CSC
600 - Programming Language Design |
| CSC
615 - Unix Programming |
| CSC
620 - Natural Language Technologies |
| CSC
630 - Computer Graphics Systems Design |
| CSC 631 - Multiplayer Game Development |
| CSC 637 - Software Techniques for Computer Music |
| CSC
639 - Software Testing and Quality Assurance |
| CSC
640 - Software Engineering |
| CSC
641 - Computer Performance Evaluation |
| CSC
642 - Human Computer Interaction |
| CSC
644 - Computer Measurements |
| CSC
645 - Computer Networks |
| CSC
650 - Secure Networked Systems |
| CSC
651 - System Administration |
| CSC
656 - Computer Organization |
| |
| CSC 664 - Multimedia Systems |
| CSC
665 - Artificial Intelligence |
| CSC
667 - Internet Application Design and Development |
| CSC
668 - Advanced Object Oriented Software Design and Development |
| CSC
671 - Neural Networks |
| CSC
675 - Introduction to Database Systems |
| CSC
690 - Undergraduate Seminar |
| CSC
693 - Cooperative Education Program |
| CSC
694 - Cooperative Education |
| CSC
695 - Computing in the Community |
| CSC
697 - Senior Project in Computer Science |
| CSC
699 - Special Study |
Graduate Courses |
CSC 720 - Advanced Operating Systems |
CSC 730 - Advanced Database Systems |
CSC 737 - Software Techniques for Computer Music |
CSC 745 - Computer Networks |
CSC 775 - Introduction to Database Systems |
CSC 810 - Analysis of Algorithms II |
CSC 815 - Graph Theory Algorithms |
CSC 820 - Advanced Natural Language Technologies |
|
CSC 830 - Advanced Computer Graphics |
CSC 831 - Multiplayer Game Development |
| CSC 835 - Distributed Systems |
| CSC 837 - Advanced Sound Synthesis |
| CSC 840 - Software Metrics and Quality Assurance |
| CSC 841 - Computer Performance Evaluation |
| CSC 842 - Human Computer Interaction |
| CSC 845 - Advanced Computer Networks |
| CSC 846 - Systems Architecture |
| CSC 848 - Advanced Software Engineering |
| CSC 849 - Information Retrieval |
| CSC 850 - Compiler Design |
| CSC 856 - Advanced Computer Architecture |
| CSC 857 - Bioinformatics Computing |
| CSC 858 - Biology for Scientists |
| CSC 864 - Multimedia Systems |
| CSC 865 - Artificial Intelligence |
| CSC 867 - Advanced Internet Application Design and Development |
| CSC 868 - Advanced Object Oriented Software Design and Development |
| CSC 869 - Data Mining |
| CSC 870 - Computational Discrete Geometry |
| CSC 871 - Neural Networks |
| CSC 872 - Pattern Analysis and Machine Intelligence |
| CSC 875 - Advanced Topic Database Design |
| CSC 878 - Advanced Object Oriented Programming |
| CSC 890 - Variable Topics - Hardware/Software Systems |
| CSC 890 - Writing for Computer Science and Engineering |
| CSC 893 - Supervised Industrial Research |
| CSC 895 - Applied Research Project |
| CSC 897 - Research |
| CSC 898 - Master's Thesis |
| CSC 899 - Special Study |
|
|
| Undergraduate
Course Descriptions |
| Back
to Undergraduate Program |
| |
Course |
Units |
CSC 101 Computers for Everyone |
3 |
Prerequisites: None.
Comprehensive and basic overview of computers and their use for everyday tasks like information retrieval, Internet, writing, presentations, communication, Web publishing, e-commerce, entertainment, computation. No prior knowledge required. |
|
|
|
| |
|
CSC 201 Introduction to Computer Programming for Non-Majors |
3 |
Prerequisites: Completion of General Education Quantitative Reasoning requirement with grade of C or above.
Introduction to a modern programming language. Algorithms and basic programming concepts. Programming assignments suitable for pre-calculus students. May not be taken for credit by Computer Science Majors. |
|
| |
|
CSC 202 .NET Programming with C# |
3 |
Prerequisites: CSC 201 or CSC210 or BICS 263 or permission of the instructor.
Introduces students to .NET programming and the C# programming language. Topics covered include an overview of C#, Graphical User Interface (GUI) programming in Microsoft Windows, simple web services implementation, the implementation of simple WWW servers and browsers, and a full introduction to MS Visual Studio .NET. |
|
| |
|
|
|
3 |
Prerequisites: CSC 210 or consent of instructor.
The Java language and object oriented programming. The use of inheritance, polymorphishm, exception handling, and libraries; Java Applets and GUI Development using Swing. |
|
| |
Back to Top |
|
|
3 |
Prerequisites: CSC 210 or consent of instructor.
Basic web authoring techniques and tools. Site design using popular applications. Technologies discussed include HTML, internet protocols, multi-media integration and scripting languages. |
|
| |
|
CSC 205 Computer Game Design |
3 |
Prerequisites: MATH 70.
Theory and practice of computer game design. Technical aesthetic, cultural, and economic components of creating computer games. Graphics and art, physics, sound and music, genre analysis, and careers in the industry. |
|
| |
|
CSC 206 Python Programming |
3 |
Prerequisites: CSC 210 or consent of instructor.
Python language programming, with basic principles of interpretative languages. The use of basic Python constructs and standard libraries (e.g. networking, regular expressions, GUI). Simple apps such as WWW, games. |
|
| Course Syllabus |
|
| |
|
| CSC
210 Introduction to Computer Programming (in C++) |
3 |
| Prerequisites:
a grade of C or better in MATH 226. CS majors must take
CSC 212 concurrently or prior to CSC 210.
Introduction
to a modern programming language. Design implementation, testing,
debugging, maintenance and documentation of programs. Coverage
of basic algorithms, programming concepts and data types (including
simple types, arrays, structs and classes). Intro to concepts
of object-oriented programming. Topics include both numerical
and non-numerical problems. Required of Computer Science majors
Concurrent enrollment in CSC 211, Intro. Software Lab, is recommended.
|
|
| Course Syllabus |
|
| |
Back to Top |
| CSC 211 Introductory Software Lab |
1 |
Prerequisite: Consent of instructor. Concurrent enrollment with 210 is recommended.
Hands on exercises in programming, including procedural, object oriented , C++ and Java programming. Students are expected to bring their own laptops. |
|
| Course Syllabus |
|
| |
|
| CSC
212 Introduction to Software Development |
2 |
Prerequisite:
Consent of instructor.
Laboratory
activities to supplement and amplify material covered
in introductory programming classes. Introduction to SW and Program development in Unix/Linux, Windows and Mac. Usage of SW development tools. CR/NC only.
Concurrent enrollment in CSC 211, Intro. Software Lab, is recommended.
|
|
| Course Syllabus |
|
| |
|
CSC
213 Fundamentals of Computer Science
(renumbered from 301 as of Fall 2003) |
3 |
Prerequisites:
a grade of C or better in MATH 227 and CSC 210, and passing
grade in CSC 212. Transfer students may enroll in CSC 212
concurrently.
Fundamental
algorithm concepts, computer organization, data structures
and abstractions, programming methodologies, distributed and
parallel computation, areas of application;artificial intelligence
and database systems.
Concurrent enrollment in CSC 211, Intro. Software Lab, is recommended.. |
|
| Course Syllabus |
|
|
Back to Top |
| CSC 215 C Programming |
3 |
Prerequisite: MATH 226 or consent of instructor.
Introduction to C programming covering all basic concepts, comparisons with C++, and team software development and performance issues. Homework and final project assignment. |
|
|
|
|
|
| CSC
271 Introduction to ORACLE: SQL & PL/SQL |
3 |
Prerequisite:
CSC 201, CSC 210, or any Programming Experience.
Oracle
tools and methodologies to fulfill real-world business information
requirements. Design and creation of database structures to
store, retrieve, update, and display data in relational databases.
(Also offered as BICS 277 and ENGR 277. Cannot be repeated
under alternate prefix.) May not be used to satisfy major
requirements. |
|
| |
Back to Top |
| CSC
277 Experimental Course |
3 |
Prerequisites:
TBD - for each course being proposed it will be different.
TBD - Each course will be different. |
|
|
|
| CSC
305 Social and Ethical Implications of Computing |
1 |
Prerequisites:
a grade of C or better in CSC 210.
Privacy
and security. Censorship and freedom of Internet use. Social
issues related to cryptography and the use of Internet. Ethical
issues in software development. Legal issues of intellectual
property, copyright, public domain software, shareware, patents,
licenses, trademarks and trade secrets. |
|
|
|
| |
|
CSC 309 Computer Programming for Scientists and Engineers |
3 |
Prerequisites: MATH 226 or consent of instructor.
Procedural programming in C for scientific applications. Good programming practices, and basic numerical and nonnumerical algorithms for scientists and engineers. |
|
|
|
| |
|
| CSC
310 Assembly Language Programming and Introduction to Computer
Organization |
3 |
Prerequisites:
a grade of C or better in ENGR 356.
Data
representation. Assembly language programming. Subroutine
linkage. Machine language encoding. Interrupt/exception handling.
CPU datapath and control design. |
|
| Course Syllabus |
|
| |
Back to Top |
| CSC
313 Data Structures |
3 |
Prerequisites:
a grade of C or better in CSC 213 and CSC 330. CSC 330
may be taken concurrently.
Linear
and non-linear data structures, including linked lists, stacks,
queues, trees, tables and graphs. Dynamic memory allocation
and deallocation. Design of algorithms and programs for creating
and processing data structures |
|
| Course Syllabus |
|
| CSC 317 Introduction to Web Software Development |
3 |
Prerequisite: CSC 201 or CSC 210 or consent of instructor.
Intro to development of Web apps: client, web server and back-end database. Installation of: Apache Web Server, PHP processor, MySQL database. Develop a simple e-commerce application. |
|
|
|
| |
|
| CSC
330 Discrete Mathematical Structures for Computer Science
|
3 |
Prerequisites:
grades of C or better in CSC 210 and MATH 227.
Review
of set algebra, relations and functions. Permutations. Propositional
logic. Proof techniques. Introduction to graph theory. Infinite
sets. Applications to Computer Science.
|
|
|
|
| |
|
| CSC 338 Information Technology in a Global Society |
3 |
Prerequisite: a grade of C or better in ENG 214.
Study of an increasingly interconnected technology and sharing of information in the 21st Century. The important role technology plays in the U.S. and the world. Exploration of the information age in several social contexts.
Cross listed with ISYS 338. |
|
| |
|
| |
|
| CSC
413 Software Development |
3 |
Prerequisites:
a grade of C or better in CSC 313 and CSC 330.
Design
and development of modern software applications. Object-oriented
techniques: encapsulation, inheritance, and polymorphism as
mechanisms for data design and problem solution. Software
design, debugging, testing, and UI design. Software maintenance.
Software development tools. Course Fee Required. |
|
| Course Syllabus |
|
| |
Back to Top |
| CSC
415 Operating Systems Principles |
3 |
Prerequisites:
a grade of C or better in CSC 310, CSC 313, MATH 324,
and PHYS 230.
Survey
operating system concepts such as concurrent processes, basic
synchronization techniques, deadlock, memory management, file
systems, security, networks, distributed processing. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
510 Analysis of Algorithms I |
3 |
Prerequisites:
a grade of C or better in CSC 313, MATH 324 and MATH 325.
Detailed
study of the basic notions of the design of algorithms and
the underlying data structures. Several measures of complexity
are introduced. Emphasis on the structure, complexity, and
efficiency of algorithms. Examples are taken from numerical
and non-numerical computations. |
|
| Course Syllabus |
|
| |
|
| CSC
520 Theory of Computing |
3 |
Prerequisites:
a grade of C or better in CSC 213, CSC 330 and MATH 325.
Introduction
to automata, formal languages, and the notion of computability.
Sequential machines as language acceptors. Context free and
context sensitive grammars. Computable and recursive functions,
universal turing machines, introduction to unsolvable problems.
|
|
| Course Syllabus |
|
| |
|
| CSC
600 Programming Language Design |
3 |
Prerequisites:
a grade of C or better in CSC 413.
Design
concepts for high-level programming languages. Comparative
study of several languages and an introduction to grammars
and parsing techniques. Course Fee Required. |
|
| Course Syllabus |
|
|
Back to Top |
| CSC
615 Unix Programming |
3 |
Prerequisites:
a grade of C or better in CSC 415 or consent of instructor.
Programming
in a UNIX environment. Topics include: regular expressions;
utilities such as awk, sed, grep, csh, sh, ksh; system calls
such as signals, sockets, POSIX IPC and POSIX threads; kernel
internal structures. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
620 Natural Language Technologies |
3 |
Prerequisites:
a grade of C or better in CSC 413.
Natural
language parsing technology and grammars. Elements of computational
semantics, discourse structure and generation. Survey of related
topics such as information retrieval, question-aswering, machine
translation, speech processing. Paired with CSC 820. Students
who complete CSC 620 may not take CSC 820 later for credit.
Extra fee rquired. Course Fee Required. |
|
| |
|
| CSC
630 Computer Graphics Systems Design |
3 |
Prerequisites:
a grade of C or better in CSC 313 and MATH 325.
This course covers computer graphics systems design and display hardware architecture. An overview is given of device-independent graphics systems, two- and three- dimensional viewing pipelines, hidden line and surface removal algorithms, raster graphics techniques and color space models. Web page design and Flash exercises give an introduction to animation and multimedia. Programming with the OpenGL library affords the class a chance to design advanced animation programs in three-dimensions. Course Fee Required. |
|
| Course Syllabus |
|
| |
Back to Top |
| CSC 631 Multiplayer Game Development |
3 |
Prerequisites: a grade of C or better in CSC 413 or consent of instructor.
This course will teach technologies and algorithms to develop multiplayer game. Topics include real-time 3D graphics programming, data structures for occlusion and collision detection, particle engines, and network programming for multiplayer architecture. Students will learn the above topics by building a multiplayer game through 3 programming projects and a team term project. Students also need to study and present an advance topic related to game development. |
|
| Course Syllabus |
|
| |
|
| CSC 637 Software Techniques for Computer Music |
3 |
Prerequisites: a grade of C or better in CSC 413 or consent of instructor.
Algorithms and software design for digital audio and computer music. Analysis and synthesis techniques. Real-time control and interaction. (Formerly CSC 635.) Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
639 Software Testing and Quality Assurance |
3 |
Prerequisite:
a grade of C or better in CSC 413 or ISYS 367, or ISYS 368, or consent of instructor. Students are advised to take this class concurrently with CSC 640 and/or ISYS 663
Technical and managerial aspects of testing and quality assurance in software development
with emphasis on practical projects. Tools for testing and QA. Performance evaluation, verification and validation of software. Managing and documenting software testing and
QA activities in local and outsourced projects.
Cross listed with ISYS 639 and team taught with SFSU ISYS Department |
|
| Course Syllabus |
|
| |
|
| CSC
640 Software Engineering |
3 |
Prerequisites:
a grade of C or better in CSC 413; and grade C or better in CSC 317 or CSC 667; or consent of instructor.
Practical methods and tools for SW Engineering, including organizational teamwork. Course is paired with CSC 848. Students who have completed CSC 848 may not take CSC 640 for credit. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
641 Computer Performance Evaluation |
3 |
Prerequisites:
a grade of C or better in CSC 415 or consent of instructor.
Computer
performance analysis probelms related to system design, selection,
and tuning. Modeling using stochastic and operational queuing
models. Workload characterization, design, and performance
measurement methods. Design of simulation models for computer
systems. Paired with CSC 841. Students who have completed
CSC 641 may not take 841 later for credit. Course Fee Required.
|
|
| Course Syllabus |
|
|
Back to Top |
| CSC
642 Human Computer Interaction |
3 |
Prerequisites:
a grade of C or better in CSC 413 or consent of instructor.
The design, implementation, and evaluation of human/computer interfaces. Topics include interface devices, interface metaphors, interaction styles, User Centered Design, testing, and quality assessment. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
644 Computer Measurements |
3 |
Prerequisites:
a grade of C or better in CSC 413 and CSC 415.
Software
measurement and experimentation tools. Data collection and
analysis. Web measurements. Benchmarking and design of benchmarks.
Use of software monitors. Course Fee Required. |
|
| |
|
| CSC
645 Computer Networks |
3 |
Prerequisites: a grade of C or better
in CSC 415.
Computer
network design, evaluation and testing. Computer network standards
and implementation. Hardware/software design and compatibility
issues. Paired with CSC 745. Students who have completed CSC
645 may not later take CSC 745 for credit. Course Fee Required. |
|
| Course Syllabus |
|
|
Back to Top |
| CSC
650 Secure Networked Systems |
3 |
Prerequisites:
a grade of C or above in CSC 310, CSC 313, Math 324, or consent of instructor.
Analysis,
planning, construction and operation of secure networked computing
systems with an emphasis placed on security for environments
connected to the Internet, encryption, assets, risk, authentication,
trust, controls, defense, routers, firewalls, law, ethics.
Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
651 System Administration |
3 |
Prerequisites:
a grade of C or above in CSC 313 and Math 324 or consent of instructor.
User
administration. Operating system installation, tuning, and
control. Network administration. Security management. Performance
tuning and management. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
656 Computer Organization |
3 |
Prerequisites:
a grade of C or better in CSC 415 (may be taken concurrently)
or consent of instructor.
Instruction
set design. Piplelined datapath and control. Cache and memory
system design. Input/output subsystems. Software/hardware
interactions. Parallel processing. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
658 Programming Cafe |
3 |
Prerequisites:
CSC 413 with grade C or better or consent of instructor.
Extensive programming practice to advance programming skills and processes; pair programming exercises; code review techniques and practice. |
|
| Course Syllabus |
|
|
Back to Top |
| CSC 664 Multimedia Systems |
3 |
Prerequisites: a grade of C or better in CSC 413
The focus of this course is to present comprehensive topics in multimedia, such as basics of image and video processing, compression, multimedia databases, standard, synchronization, formats in perspective of systems and algorithms. This course is paired with CSC 864. Students who completed CSC 864 may not take CSC 664 for credit. For graduate credit, survey and presentation of recent literatures is required. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
665 Artificial Intelligence |
3 |
Prerequisites:
a grade of C or better in CSC 413 or consent of instructor.
Computational
methods for studying intelligence. Automated problem solving,
heuristic search, planning, inference, natural language processing
and machine learning. Paired with CSC 865. Students completing
this courses may not take CSC 865 later for credit. Course Fee Required. |
|
| |
|
| CSC
667 Internet Application Design and Development |
3 |
Prerequisite:
a grade of C or better in CSC 413 or consent of instructor.
The focus of this course is to teach the principles of the technologies that the Web is based upon. It will cover Client-Server architecture, Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), then client-side applications (JavaScript and Java Web Start/JNLP), programming languages for server-side applications (Python, Java Server Pages and Servlets), and advanced techniques and topics on the WWW. Course Fee Required. |
|
| Course Syllabus |
|
|
Back to Top |
| CSC
668 Advanced Object Oriented Software Design and Development |
3 |
Prerequisite:
Senior or graduate standing, and at least
a C grade in CSC 413, or consent of instructor.
Basic principles of object oriented analysis and design utilizing UML, advanced object oriented programming principles, design patterns, frameworks and toolkits; Agile software design processes. Development of a mid-size programming project working in teams. Paired with CSC 868. Students completing this course may not take CSC 868 later for credit. Course Fee Required. |
|
| Course Syllabus |
|
| |
|
| CSC
671 Neural Networks |
3 |
Prerequisite:
a grade of C or better in CSC 413.
Analysis
of artificial neural networks. Selected applications from:
associative memories, learning, search, data bases, fuzzy
set techniques, pattern recognition and adaptive processing.
Paired with CSC 871. Students completing this course may not
take CSC 871 later for credit. Course Fee Required. |
|
| |
|
| CSC
675 Introduction to Database Systems |
3 |
Prerequisite:
a grade of C or better in CSC 413.
Relational
query languages. Semantic data models. Logical and physical
database design. Privacy Issues. Implementation techniques
(catalogs, query optimization, concurrency control, security,
and integrity enforcement). Paired with CSC 775. Students
completing this course may not take CSC 775 later for credit.
Course Fee Required. |
|
| Course Syllabus |
|
|
Back to Top |
| CSC
690 Undergraduate Seminar |
3 |
Prerequisite:
consent of instructor.
Topic
to be specified in the Class Schedule. This course is used
from time to time to present subjects not covered in the regular
Computer Science curriculum. May be repeated for credit as
topics vary. Course Fee Required. |
|
| |
|
| CSC
693 Cooperative Education |
6
or 12 |
| Prerequisite:
a U 293 or consent of instructor.
Units
do not count toward the major. May be repeated for a total
of 24 units. Contact the Cooperative Education office for
information. CR/NC grading only. |
|
| |
|
| CSC
694 Cooperative Education |
3
,6,12 |
Prerequisite:
consent of Computer Science Department.
A
detailed report on projects undertaken in a business, government,
or industrial position of at least one semester's duration.
For students who wish to apply work experience to academic
credit. Please compare to AU (All University) 693. |
|
|
Back to Top |
| CSC
695 Computing in the Community |
2 |
Prerequisite:
junior or senior standing, computer experience, and consent
of instructor.
Extensive
fieldwork training Bay Area non-profit agencies in the use
of computer tools such as conferencing and database systems.
Development of user documentation. CR/NC grading only. |
|
| |
|
| CSC
697 Senior Project in Computer Science |
3 |
Prerequisite:
a grade of C or better in CSC 415, CSC 510, or CSC 640,
or consent of instructor.
A
culminating experience in individual design, implementation,
and professional documentation of a software product under
close supervision of a faculty member. |
|
| |
|
| CSC
699 Special Study |
3 |
Prerequisite:
departmental permission and consent
of instructor.
An
approved study proposal must be on file by the time of registration.
Library and laboratory research projects. Final report must
be approved by the instructor and filed with the department. |
|
|
|
| Back
to Undergraduate Program |
| |
| Graduate
Course Descriptions |
| Back
to Graduate Program |
| |
| Course |
Units |
720
Advanced Operating Systems |
3 |
| Prerequisite:
Satisfaction
of English Level I or concurrent enrollment in SCI 614; and
CSC 415 with a grade of B or better, or consent of instructor.
Advanced
operating systems topics such as analysis of scheduling and
memory management algorithms, use of concurrent languages
for systems development and distributed systems. Term projects
include design and implementation of major components of an
operating system. Course Fee Required. |
|
| |
|
730
Advanced Database Systems |
3 |
Prerequisite:
a
grade of C or better in CSC 413 and CSC 675.
Advanced
course in Database Systems offering in depth coverage of
key topics: Standard SQL, query optimization, concurrency
control, crash recovery, authorization and integrity enforcement;
and an introduction to object oriented, extensible, deductive
and/or distributed database systems. Course Fee Required.
|
|
| |
|
737
Software Techniques for Computer Music |
3 |
Prerequisite: CSC 413 with grade of C or better, or consent of instructor.
Algorithms and software design for digital audio and computer music. Analysis and synthesis techniques. Real-time control and interaction. (Paired with CSC 737. Students who have completed CSC 737 may not take CSC 637 for credit.)
|
|
|
|
| |
|
|
3
|
Prerequisite:
a
grade of C or better in CSC 415.
Computer
network design, evaluation and testing. Computer network standards
and implementation. Hardware/software design and compatibility
issues. Paried with CSC 645. Students who have completed CSC
645 may not take CSC 745 for credit. Course Fee Required. |
|
|
|
|
Back to Top |
| 775
Introduction to Database Systems |
3 |
Prerequisite:
a
grade of C or above in CSC 413.
Relational
query languages. Semantic data models. Logical and physical
database design. Privacy issues. Implementation techniques
(catalogs, query optimization, concurrency control, security
and integrity enforcement). Paired with CSC 675. Students
who have completed CSC 675 may not take CSC 775 for credit. Course Fee Required.
|
|
|
|
| |
|
| 810
Analysis of Algorithms II
|
3 |
Prerequisite:
Pass GET or enrolled in SCI 614, C or better in CSC 510
Review major design strategies. Theory of NP-Completeness. Approximation algorithms. On-line algorithms. Parallel and Distributed algorithms. Algorithms for specific areas of interest. Course Fee Required. |
|
|
|
| |
|
| 815
Graph Theory Algorithms
|
3 |
Prerequisite:
graduate
status or consent of instructor.
Selected
topics from graph theory, matching theory, flows in networks
and game playing programs. Emphasis in on algorithms. Correctness
proofs and computational efficiency discussed. On game playing
programs the emphasis is on the alpha-beta pruning algorithms
and heuristics, and is illustrated by a completed game. |
|
|
Back to Top |
| 820
Advanced Natural Language Technologies |
3 |
Prerequisite:
a grade of C or better in CSC 413 or consent of instructor.
Natural
language parsing technology and grammars. Elements of computational
semantics, discourse structure and generation. Survey of related
topics such as information retrieval, question-answering,
machine translation, speech processing. Paired with CSC 620.
Students who completed CSC 620 may not take CSC 820 for credit. Course Fee Required. |
|
| |
|
| CSC 825 Advanced Automata Theory |
3 |
Prerequisites: CSC 520 or equivalent
Advanced topics in theoretical computer science and their application to a broad range of areas including bioinformatics, compilers, data and image compression, natural language processing, networking and web applications. Course Fee Required. |
|
|
|
| |
|
| 830
Advanced Computer Graphics |
3 |
Prerequisite:
a grade of C or better in CSC 630 or consent of instructor.
Survey
topics and prepare for research projects in Computer Graphics
2D/3D software development. Enhanced visual realism. Ray tracing.
Research literature. Course Fee Required. |
|
| |
|
| 831 Multiplayer Game Development |
3 |
Prerequisite: CSC 413 or consent of instructor.
Computer graphics and network characteristics of multiplayer games. Design and development of a game as a team project. Paired with CSC 631. Students who have completed 631 may not take 831 for credit. |
|
|
|
| |
|
| 835 Distributed Systems |
3 |
Prerequisite: a grade C or better in CSC 415 or consent of instructor.
Introduction to the concepts and design of Distributed Systems. The course is accompanied by a term project using current middleware technologies. Course Fee Required. |
|
|
Back to Top |
| 837 Advanced Sound Synthesis |
3 |
Prerequisite: a grade C or better in CSC 635 or 637, or consent of instructor.
Current algorithms and practices in sound synthesis and timbral control, for music, sound effects, and interactive environments. Design of real-time software synthesis systems. Course Fee Required. |
|
| |
|
| 840
Software Metrics and QA |
3 |
Prerequisite:
a
grade of C or better in CSC 640 or consent of instructor.
Measurement and modeling in Software Engineering. Software performance evaluation methods. Techniques and tools for software quality assurance. Software quality standards. Design and use of software metric tools. Course Fee Required. |
|
| |
|
| 841
Computer Performance Evaluation
|
3 |
Prerequisite:
a
grade of C or better in CSC 656 or consent of instructor.
Computer
performance analysis problems related to system design, selection,
and tuning. Modeling using stochastic and operational queuing
models. Workload characterization, design, and performance
measurement methods. Design of simulation models for computer
systems. Paired with CSC 641. Students who completed CSC 641
may not take CSC 841 for credit. Course Fee Required. |
|
|
|
| |
|
| 842
Human Computer Interaction |
3 |
Prerequisite:
classified standing in graduate program.
Design, implementation, evaluation of human/computer interfaces. Topics include those covered in CSC 642; however, emphasis is placed on HCI with respect to culminating experience work. Course Fee Required. |
|
| |
Back to Top |
| 845
Advanced Computer Networks |
3 |
Prerequisite:
a
grade of C or better in CSC 645, 720 or consent of instructor.
MATH 250 strongly recommended.
Survey
of current design and implementation techniques for development
and analysis of high performance network protocols. Emphasis
is on strategies appropriate for internet use (i.e. TCP/IP
based). Course Fee Required. |
|
| |
|
| CSC 846 Systems Architecture |
3 |
Prerequisites: a grade of C or better in CSC 656, or consent of instructor.
Principles of computer systems architecture, with emphasis on hardware/software interactions for large applications and design for performance. Course Fee Required. |
|
| |
|
| CSC 848 Advanced Software Engineering |
3 |
Prerequisites:a grade of C or better in CSC 413; and grade C or better in CSC 317 or CSC 667; or consent of instructor.
Practical methods and tools for SW Engineering, including organizational teamwork. Course is paired with CSC 640. Students who have completed CSC 848 may not take CSC 640 for credit. Course Fee Required. |
|
|
|
|
Back to Top |
| 849 Information Retrieval |
3 |
Prerequisite: CSC 848 or consent of instructor.
Software engineering methods and tools for representation, storage, organization of, and access to information items. Retrieval modeling and evaluation. Query languages. Searching Web and digital libraries. Course Fee Required. |
|
|
Back to Top |
| 850
Compiler Design |
3 |
Prerequisite:
C
or better in CSC 413 and consent of instructor.
Techniques
for design and implementation of compilers including lexical
scanners, top down and bottom up parsers, precedence grammars,
symbol table manipulation, LR (k) grammars, semantic routines,
and code generators. Course Fee Required. |
|
| |
|
| 856
Advanced Computer Architecture |
3 |
Prerequisite:
Satisfaction
of English Level I or concurrent enrollment in SCI 614; and,
a grade of C or better in CSC 656 or consent of instructor.
Advanced
pipeling. Instruction level parallelism. Advanced memory system
design. Compiler techniques for performance. New technologies/application. Course Fee Required.
|
|
| |
|
| CSC 857 Bioinformatics Computing |
3 |
Prerequisites: CSC 858 (Bio for CS) which may be taken concurrently, or consent of the instructor.
A broad range of topics in computational biology as practiced in life science industry and leading research organizations. Provides computational background required to participate in R&D. Course Fee Required. |
|
|
Back to Top |
| CSC 858 Biology for Scientists |
3 |
Prerequisites: Graduate student in College of Science and Engineering.
Basics of biological science relevant to studies in CSC, MATH, physical sciences, and ENGR. Do not need background in life sciences. Emphasis on macromolecules, genetics, genomics, development & systems biology. |
|
| |
|
| CSC 864 Multimedia Systems |
3 |
Prerequisites: a grade of C or better in CSC 413.
This course presents comprehensive topics in multimedia systems. This course is paired with CSC 664. Students who completed CSC 664 may not take CSC 864 for credit. For graduate credit, survey and presentation of recent literatures is required. See CSC 664 for more detail. Course Fee Required. |
|
|
|
| |
|
| 865
Artificial Intelligence |
3 |
Prerequisite:
CSC
413 or consent of instructor.
Computational
methods for studying intelligence. Automated problem solving,
heuristic search, planning, inference, natural language processing,
and machine learning. Paired with CSC 665. Students who have
completed CSC 665 may not take Csc 865 for credit. CSC 865
covers more advanced material, written assignments, and/or
oral presentations. |
|
| |
|
| 867
Advanced Internet Application Design and Development |
3 |
Prerequisite:
CSC 413 with a grade of C or better or consent of instructor.
Fundamental technologies on which WWW is based. Paired with CSC 667. Students who have completed 667 may not take CSC 867 for credit. |
|
|
|
|
Back to Top |
| 868
Advanced Object Oriented Software Design and Development |
3 |
Prerequisite:
Senior
or graduate standing, at least a grade C in CSC 413 or consent
of instructor.
Basic principles of object oriented analysis and design utilizing UML, advanced object oriented programming principles, design patterns, frameworks and toolkits; Agile software design processes. Development of a mid-size programming project working in teams. Paired with CSC 868. Students completing this course may not take CSC 868 later for credit. Course Fee Required. |
|
|
|
| 869
Data Mining |
3 |
Prerequisite:
A grade of C or better in CSC 510 and CSC 675; or consent of instructor
Knowledge discovery process; basic data mining concepts;
key data mining algorithms, including association rule mining, classification, clustering
and anomaly detection; and data mining applications and tools in a variety of domains, such as
bioinformatics and web mining. |
|
| |
|
| 870 Computational Discrete Geometry |
3 |
Prerequisite: CSC 210, CSC 330, MATH 325, or consent of instructor.
Comprehensive overview of basic topics in computational discrete geometry: generating functions, complexity theory, convex hull, nearest-neighbor problems, efficient algorthms, etc. Course Fee Required. |
|
| |
|
| 871
Neural Networks |
3 |
Prerequisite:
CSC
413.
Analysis
of artificial neural networks. Selected applications from:
associative memories, learning, search, data bases, fuzzy
set techniques, pattern recognition and adaptive processing.
Paired with CSC 671. Students who have completed CSC 671 may
not take this course for credit. CSC 871 covers more advanced
material, written assignments, and/or oral presentation than
CSC 671. Course Fee Required. |
|
| |
|
| 872
Pattern Analysis and Machine Intelligence |
3 |
Prerequisite: grades of C or better in CSC 510 and CSC 520 or consent of instructor.
Foundation of pattern analysis and machine intelligence. Artificial intelligence: agent, logic, search. Machine learning: Bayesian classification. Neural network: simulated annealing. Imaging: image segmentation, object recognition. |
|
| Course Syllabus |
|
| |
|
| 875
Advanced Topic Database Design
|
3 |
Prerequisite:
CSC
675 and consent of instructor. A good working knowledge of
relational database applications development as well as standard
systems implementation techniques (concurrency control, recovery,
query optimiazation, etc.).
Presentation
of a subject outside and beyond the regular database systems
curriculum. Course may be repeated once as topics in database
design vary. |
|
|
Back to Top |
| 878
Advanced Object Oriented Programming |
3 |
Prerequisite:
CSC
668/868 or consent of instructor.
Current
topics in Object Oriented Programming will be considered.
Sample topics include Object Oriented Analysis and Design,
Design Patterns and Java environments (JDK, SWING, etc.).
Students will study topics and develop applications applying
the principles considered. Design reviews will be conducted
in class to provide critical analyses in a group setting. |
|
| |
|
| 890
Graduate Seminar (Old Curriculum - no longer offered) |
1 |
| Prerequisite:
Satisfaction
of English Level I and consent of graduate instructor.
Topics
to be specified in Class Schedule. Presentation of a subject
outside the regular computer science curriculum particularly
beyond the level of the regular courses. |
|
| |
|
| 890
Variable Topics - Hardware/Software Systems |
3 |
| Prerequisite:
consent
of instructor.
Topics
to be specified in Class Schedule. Presentation of a subject
outside the regular computer science curriculum particularly
beyond the level of the regular courses. May be repeated for
credit when topics vary. |
|
|
Back to Top |
| 890 Writing for Computer Science and Engineering |
3 |
|
Prerequisite: Pass on GET or CR in SCI 614.
Writing for computer scientists/engineers: technical writing, reports, culminating experience reports, software requirements and spec, user interface text, error messaging, project communications, etc. (CR/NC, not repeatable, does not count towards degree) |
|
| |
|
| 893
Supervised Industrial Research |
1 |
| Prerequisite:
consent
of instructor.
Supervised
computer science employment in software research and development
area. Objectives are career development and occupational experience.
May be repeated for a total of 3 units. Subsequently, may
be repeated on CR/NC basis. Must be approved by graduate adviser. |
|
| |
|
| 895
Applied Research Project |
3 |
| Prerequisite:
CSC
720, 810 856, plus two other courses as approved by graduate
adviser.
Graduate
Approved Program and Proposal for Culminating Experience Requirement
forms must be approved by the Graduate Division before registration. |
|
|
Back to Top |
| 897
Research |
3-6 |
| Prerequisite:
consent
of Computer Science Department.
Independent
and original investigation under supervision of a faculty
member. |
|
| |
|
| 898
Master's Thesis |
3 |
| Prerequisite:
consent of program and advancement to candidacy for the
Master of Science in Computer Science.
Graduate
Approved Program and Proposal for Culminating Experience Requirement
forms must be on file in the Graduate Studies Office before
registration. |
|
| |
|
| 899
Special Study |
1-3 |
| Prerequisite:
approval
of the department and the instructor.
Special
study of a particular problem under the direction of a faculty
member. The student must present a written, detailed report
of the work accomplished to the staff of the department. |
|
|
|
| Back
to Graduate Program |
|