Majors & Programs

Computer Systems B.A.

Courses

COURSE OFFERINGS IN COMPUTER SCIENCE   (CSCI)

Lower Division
    121.   Computer Technology and People                    (FWS)
Computer technology: background, contemporary uses, implications and trends, impact on society and ethics. No previous computer background required. May not be taken for credit by students who have received credit for CSCI 100, 120 or 127. (2 units)

    122.   Bioinformatics
Introduction to natural sciences and its interplay with computer science. Description of bioinformatics and the application of computer science and problems in the life sciences. (GE=B4) (2 units)

    123.   Using Computer Software                              (FWS)
Word processor, spreadsheet, and database as an aid to personal productivity. One hour lecture and two hours laboratory. Materials fee required. No previous computer background required. May not be taken for credit by students who have received credit for CSCI 100 or 127. (2 units)

    124.   Exploring the Information Superhighway        (FWS)
Familiarization, use and customization of software tools to explore and publish information on the Internet. This includes Electronic Mail, the World Wide Web and USENET news groups. One hour lecture and two hours laboratory. Materials fee required. (2 units)

    125.   Programming in Visual Basic                          (FWS)
Programming techniques in an event-driven and object-oriented environment. Graphical user interfaces, controls, properties, procedures, and functions. Multiple forms, menus, file access, and applications. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: satisfactory score on the Entry Level Mathematics examination or completion of the General Education Basic Skills category in Mathematics. (CSCI 125=CAN CSCI 6) (4 units)

    127.   Introduction to Computer Technology for Educators              (FWS)
Operations, terminology and components. Implications for a democratic society, impacts on quality-of-life including economics, morality, legality and ethics. Hands-on use of computers for word processing, etc. Three hours lecture and two hours laboratory. Materials fee required. No programming involved. No previous computer experience required. May not be taken for credit by students who have received credit for CSCI 100, 121 and 123. (4 units)

    128.   Application Programming                                   (S)
Developing applications using a current graphical user programming environment. Three hours lecture and two hours activity laboratory. Materials fee required. (4 units)

    129.   Science, Computing and Society
Understanding physical science in terms of information and information processing. Use of computer as both a tool and metaphor for understanding life, physics, and existence, and its implications and impact on society and ethics. (GE=B4) (2 units)

    133.   Using Word Processors and Presentation Software
Advanced features and applications of word processing and presentation software. Includes desktop publishing, building macros, building custom presentation templates and proper presentation techniques. One hour lecture and two hours laboratory. Materials fee required. Prerequisite: CSCI 123 or consent of instructor. (2 units)

    134.   Using Spreadsheet and Database Software
Advanced features and applications of spreadsheets and end-user database applications, including advanced formula programming, spreadsheet linking and database access. One hour lecture and two hours laboratory. Materials fee required. Prerequisite: CSCI 123 or consent of instructor. (2 units)

    136.   HTML Programming
Using the Hyper Text Markup Language to create Web pages. One hour lecture and two hours laboratory. Materials fee required. Prerequisite: CSCI 124 or consent of instructor. (2 units)

    140.   Introduction to Game Design
Elements of games, including theme, game play and presentation.  The process by which game concepts are transformed into actual computer games, including the use of scripting languages to incorporate sound and graphics into a game, design documents, project management, evaluation, game play parameters and artificial intelligence. Several examples will be used to demonstrate game design concepts and practice. One hour lecture and two hours laboratory. Materials fee required. (2 units)

    141.   Introduction to Game Programming
Basic concepts of programming and how programs control the display of graphics and animation in computer games. The use of artificial intelligence in computer games. Demonstrations and experiments with game programming through the use of examples. One hour lecture and two hours laboratory. Materials fee required. (2 units)

    201.   Computer Science I                                      (FWS)
Computer software design, implementation, methods and environments using a current high-level language. Survey of computers, applications and other areas of computer science. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: satisfactory score on the Entry Level Mathematics examination, and either some prior computer programming experience, or CSCI 125. (CSCI 201=CAN CSCI 22) (4 units)

    202.   Computer Science II                                     (FWS)
Analysis of problems and the formulation, documentation and implementation of their solutions; an introduction to data structures with abstract data types; software engineering principles for both individual and group projects. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisites: CSCI 201 and satisfactory score on the Entry Level Mathematics examination. (CSCI 202=CAN CSCI 24) (4 units)

    240.   FORTRAN Programming
FORTRAN language with emphasis on computer solution of problems reducible to algebraic models and elementary numerical methods. Prerequisites: MATH 211 and either some computer programming experience or CSCI 125. (CSCI 240=CAN CSCI 4) (4 units)

    280.   Low Level Language
Study of the assembly language for selected processors such as 8086/88, 68000, PDP II, VAX II, etc. May be repeated twice for credit as topics change. Prerequisite: CSCI 202. (4 units)

    290.   High Level Language                                          
Study of a selected high-level programming language, such as ADA, COBOL, C, Prolog or LISP. May be repeated for credit as topics change. Prerequisite: CSCI 202. (CSCI 290=CAN CSCI 16) (4 units)

    292.   JAVA Programming                                         (W)
Study of object oriented programming and techniques using JAVA programming language. Prerequisite: prior course in computer programming. (4 units)

    295.   Computer Science Project
Production of documented computer programs under the direction of a faculty member. May be repeated twice for credit using different projects, a total of four units may apply toward graduation. Prerequisites: a minimum overall grade point average of 3.0 ("B"), consent of instructor, and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken. (1-4 units)

    298.   Application Software Topics
Applications software in areas such as word processing, database, graphics, desk top publishing, planning and communications will be examined under specific operating systems. This is a how-to course and hands-on experience will be stressed. May be repeated for credit as topics change. No previous computing experience is required. One hour lecture and two hours laboratory. Materials fee required. Graded credit/no credit. (2 units)

Upper Division
    303.   Computer Engineering Design
Guided engineering design activity on an ongoing real world problem. Three hours activity. Must be repeated for a total of 10 units. Prerequisite: PHYS 152. (1 unit)

    310.   Digital Logic                                                (FW)
Boolean algebra, flip-flops, combinational and sequential circuits, arithmetic-logic units, memory devices, and I/O peripherals. Laboratory experiments include bread-board assembly of finite state machine circuits, registers and arithmetic-logic processors. Four hours lecture and three hours laboratory. Materials fee required. Prerequisites: CSCI 202, MATH 272 and PHYS 222. (5 units)

    311.   Advanced Digital Design
Transistor circuits, MOS and CMOS characteristics, design of logic families, CPLDs and FPGAs, timing, propagation, hazards, bistability and metastability, ASM charts, skew, reliability and testing, and transmission line behavior. Materials fee required. Three hours discussion and three hours laboratory. Prerequisite: CSCI 310. (4 units)

    313.   Machine Organization                                     (WS)
Typical components of von Neumann computer architectures; their organization, interrelated activities and control are emphasized and demonstrated using low-level languages. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 202. (4 units)

    320.   Programming Languages                                 (WS)
Topics include formal language specification, data types and their implementation, abstract mechanisms, control structures, run-time representations and storage management. Several high-level languages will be examined. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 202. (4 units)

    322.   Web Page Programming                                    (F)
Current protocols, technology, languages, and methodologies for the browser side of web-based systems; performance issues; human factors, page and site design. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 202 or consent of instructor. (4 units)

    330.   Data Structures                                           (FWS)
Abstract data structures including lists, stacks, queues and trees; their storage allocation and associated application algorithms. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisites: CSCI 202 and MATH 272. (4 units)

    350.   File Systems                                                (FS)
Topics include file structures, file organization concepts and philosophies. Prerequisite: CSCI 330. (4 units)

    360.   Script Programming                                          (F)
Getting started; terminal types; e-mail; command line and GUI interfaces; advanced editing; macros; text processing and programmer's tools. Two hours lecture and four hours activity laboratory. Materials fee required. Prerequisite: CSCI 202. (4 units)

    365.   Systems Administration                                    (W)
Responsibilities and skills of the system administrator; managing accounts, system files and mail; security, reliability and backups; emergencies; ethics and usability. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 201. (4 units)

    366.   Systems Networking                                        (S)
Planning and configuring networks; file transfer; network file servers; bridges and routers. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 360. (4 units)

    372.   Computer Systems in Organizations
General system and information theory. Modeling organizational activities, hardware and software using current techniques with emphasis on human-computer interaction, systems engineering and project planning. Students will study part of an actual or hypothetical organization. Prerequisite: CSCI 202. (4 units)

    375.   Requirements Analysis and Design
Requirements analysis, including organizational objectives, functional characteristics, technology, use cases and conceptual models. The use of aspects, patterns, objects and structure in architectural design specifications. Includes analysis and design of a software system for an organization, and fieldwork. Prerequisites: CSCI 202. (4 units)

    399.   Community Service Project
Credit for performing academically related tasks in such agencies as educational, governmental and social service institutions. May be repeated for a total of six units. No more than six units of credit for Community Service Project courses may be applied toward degree requirements. Graded credit/no credit. Prerequisite: consent of department. (1-2 units)

    401.   Contemporary Computer Architectures                  (F)
Design methodology; processor units and control units of von Neumann computer architectures; RISC architectures, including pipelining and parallel-processing. Laboratory experiments consist of the use of computer-aided design tools for VLSI layout and simulation. Four hours lecture and three hours laboratory. Materials fee required. Prerequisites: CSCI 310 and 313. (5 units)

    405.   Server Programming                                        (W)
Current operating system technology; languages and methodologies of controlling servers; performance analysis; interfaces to databases; security, monitoring, and maintainability. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 322. (4 units)

    420.   Computer Graphics                                          (F)
Survey of computer graphics hardware. Topics include animation, two-dimensional and three-dimensional transformation, hidden surface removal algorithm, business charts and applications. Prerequisite: CSCI 330. (4 units)

    431.   Algorithm Analysis                                          (S)
Analysis and design of algorithms, including time and space complexity, design methodologies, and taxonomic classification of problems. Formerly CSCI 331. Prerequisites: CSCI 330 and MATH 372. (4 units)

    440.   Game Design
Study of game design concepts and game design specification. Topics include principles of user interface layout, game design techniques, game design methodologies, artificial intelligence in gaming, and game design tools. Prerequisite: CSCI 330. (4 units)

    441.   Game Programming
Techniques and technology used to produce games. Topics include game engine design, mathematical foundations of game programming, game physics, artificial intelligence, and application of software engineering principles to a game development environment. Three hours lecture and two hours activity laboratory. Materials fee required.   Prerequisite: CSCI 420. (4 units)

    455.   Software Engineering                                       (W)
Advanced techniques and technology used to produce large software systems. Laboratory work with a software development environment. Three hours lecture and three hours laboratory. Materials fee required. Prerequisite: CSCI 330. (4 units)

    460.   Operating Systems                                          (S)
An overview of operating systems. Principles of resource management and control. Multiprogramming, distributed systems and multiprocessor systems will be included. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisites: CSCI 313 and 330. (4 units)

    482.   Senior Interdisciplinary Project
Analysis, design and implementation of a software system that solves an interdisciplinary problem related to the student's chosen program option or minor field of study. Presentation techniques and communication skills to support project planning and execution. Prerequisites: CSCI 375 and consent of department. (4 units)

    488.   Ethics and the Computing Professional                   (F)
Professionalism, ethics, legal issues and the social impact and role of computer technology. Prerequisite: senior standing. (2 units)

    489.   Senior Seminar                                               (S)
A series of weekly seminars covering a wide range of computer science topics and formats including presentations from industry and university personnel, and students regarding projects and research work. Graded credit/no credit. Prerequisite: completion of all required 300-level computer science courses for the B.S. in Computer Science degree. (2 units)

    492.   Topics in Computer Science                               (S)
Consideration of a selected area of computer science. May be repeated for credit as topics change. Prerequisite: CSCI 431 or consent of instructor. (2 units)

    500.   Introduction to Formal Languages and Automata              (W)
Introduction to formal language theory. Finite state machines, regular grammars, context-free grammars, context-sensitive grammars, push-down automata, closure properties. Prerequisite: CSCI 431 or consent of instructor. (4 units)

    510.   Advanced Computer Architecture                        (W)
High performance computer architectures and algorithms including pipeline, vector, array, multiprocessor computer designs, applications, and programming. Also covered are data flow and systolic machines, interconnection networks, and graph and parallel graph algorithms. Formerly CSCI 410. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: CSCI 401. (4 units)

    511.   Expert Systems                                                 
Expert systems components, problems and applications. Knowledge bases, inference "engines," and their integration within expert systems. Tools for building expert systems, system algorithms as related to hardware, implementation languages and examples of systems in operation. Prerequisite: CSCI 330. (4 units)

    512.   Introduction to Artificial Intelligence                     (W)
Problems and issues of artificial intelligence, current techniques and methods, and future prospects of machine intelligence. Three hours lecture and two hours activity laboratory Materials fee required. Formerly CSCI 411. Prerequisite: CSCI 330. (4 units)

    513.   Advanced Artificial Intelligence                           (S)
Advanced issues and techniques in artificial intelligence; intelligent agents for problem solving, reasoning and learning; advanced artificial intelligence programming in LISP. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 512 or consent of instructor. (4 units)

    515.   Automated Reasoning                                       (F)
Study of deduction algorithms for expert systems and the limitations thereof, propositional calculus, quantification theory, completeness and incompleteness theorems, Herbrand-Gödel computability, resolution principle, equality and inequality relations. Prerequisite: CSCI 431. (4 units)

    520.   Advanced Computer Graphics                             (S)
Advanced computer graphics concepts, theory and implementation techniques. Topics include shading models, parametric curves and surfaces, hidden edge and surface removal, and anti-aliasing. Prerequisites: CSCI 420 and either CSCI 535 or MATH 213. (4 units)

    521.   Field Programmable Gate Array Design
FPGA design rules, timing, latency, optimzations, ASIC conversion, state machines, implementing arithmetic, counters, memory, error detection and correction, simulation, and layout. Materials fee required. Three hours lecture and three hours laboratory. Prerequisite: CSCI 401. (4 units)     

    524.   Supercomputing and Visualization                        (F)
Design and implementation of scientific applications on high performance computers emphasizing graphics and visualization techniques. Topics include parallel algorithm development, multiprocessor and multicomputer programming, and real-time visualization programming of computationally intensive problems in the sciences. Prerequisite: CSCI 202 or consent of instructor. (4 units)

    525.   Parallel Algorithms and Programming                    (S)
Topics include algorithm design, analysis, and programming of high performance computers. Also covered are control-parallel versus data-parallel approaches, PRAM algorithm design, and selected parallel programming languages. Four hours lecture. Prerequisite: CSCI 401. (4 units)

    530.   Data Communications and Networks                     (F)
Topics include baseband and broadband signals and modulation schemes. Error detecting and correcting codes, ISO protocol standard, packet switching and various local network schemes. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSCI 430. Prerequisites: CSCI 313 or 598, and 330. (4 units)

    531.   High Performance Networks
High performance network methodologies. Methods to develop network performance measures and models. Introduction to path cost estimation and service reliability issues. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: CSCI 530 or consent of instructor. (4 units)

    535.   Numerical Computation
Introduction to scientific computing. Algorithms related to approximations, zero findings, numerical differentiation and integration, data fitting and interpolation, nonlinear equations. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: senior standing or consent of instructor. (4 units)

    540.   System Simulation                                           (F)
Theory and implementation of computerized modeling. Examples will include administrative, physical and biological systems. Prerequisite: CSCI 330 or consent of instructor. (4 units)

    546.   Introduction to Theory of Computation                    (S)
Deterministic and non-deterministic Turing machines, decidable and undecidable problems, complexity classes P and NP. Formerly CSCI 505. Prerequisite: CSCI 431. (4 units)

    550.   Advanced Bioinformatics I: Sequence Analysis
Pairwise and multiple sequence alignment of strings and relations to biology. Building phylogenetic trees from sequences. Predicting and analyzing RNA secondary structure. Three hours discussion and two hours activity. Prerequisites: CSCI 431 and senior standing or consent of instructor. (4 units)

    551.   Advanced Bioinformatics II: Numerical Modeling
Numerical techniques for the modeling and simulation of biological and chemical systems using ordinary and partial differential equations, and stochastic variables. Three hours discussion and two hours activity. Prerequisite: CSCI 535. (4 units)

    556.   Introduction to Formal Methods, Models and Languages              (W)
Applications of logic and mathematics in documenting problems, requirements, specifications, designs, and software. Formal modeling languages. Diagrammatic, algebraic, and tabular models. Model checking. Students prepare, check, and present models using techniques in the literature. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisites: CSCI 320 and 330. (4 units)

    565.   Systems Programming                                     (W)
Concepts of, and implementation techniques for systems software such as assemblers, editors, interpreters, linkers, loaders and operating systems. Formerly CSCI 465. Prerequisite: CSCI 460. (4 units)

    570.   Compilers                                                     (S)
Interpreter and compiler structures. Topics include symbol tables, lexical and syntactic analyzers, and object code generation. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSCI 470. Prerequisites: CSCI 313, 320 and 330. (4 units)

    572.   Database Systems                                           (F)
Basic concepts of database design and theory, including underlying storage structures and alternative approaches to database models (relational, object-relational, network and hierarchical). Hands-on applications with one or more commercial database management systems. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSCI 480. Prerequisite: CSCI 353. (4 units)

    575.   Internship in Computer Science
Supervised work and study in private or public organizations. Graded credit/no credit. Prerequisites: a minimum grade point average of 3.0 and departmental approval of a written proposal submitted on a standard application filed in advance of the quarter in which the course is to be taken. (4 units)

    580.   Advanced Database Systems                             (W)
Advanced description: advanced study of components of general database systems and other topics such as implementation methods, query language design, reliability, integrity, performance measures, distributed database systems and database machines. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSCI 572. (4 units)

    594.   Topics in Computer Science                               (S)
An in-depth consideration of selected areas of computer science. May be repeated for credit as topics change. Formerly CSCI 494, credit may not be received twice for the same topic. Prerequisite: CSCI 431 or consent of instructor. (4 units)

    595.   Independent Study
Laboratory and/or library research conducted under the direction of a faculty member. A total of four units in CSCI 595 may be applied toward the computer science major. May not be counted toward the B.S. in Computer Science or B.A. in Computer Systems. Prerequisites: a minimum overall grade point average of 3.0, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken. (1-4 units)

    598.   Foundations of Computer Architecture                  (FS)
Boolean algebra and logic gates; combinational and sequential logic; processor design; data path design; control design; memory organization; and system organization. May not be counted toward the B.S. in Computer Science or B.A. in Computer Systems. Prerequisites: CSCI 202, MATH 272, and consent of instructor. (4 units)

    599.   Foundations of Software Systems                        (W)
Software development process which includes software life-cycles, software techniques and technologies used to produce large software systems; operating systems including processes, input/output, memory management, and file systems. May not be counted toward the B.S. in Computer Science or B.A. in Computer Systems. Prerequisites: CSCI 330 and consent of instructor. (4 units)

 

 

 

Please refer to the University catalog at http://catalog.csusb.edu for official information.

California State University, San Bernardino
California State University, San Bernardino
5500 University Parkway, San Bernardino, CA 92407-2393
909.537.5000
Updated September 9, 2008
Contact Webmaster