Jun 26, 2024  
2022/2023 University Catalog 
    
2022/2023 University Catalog [ARCHIVED CATALOG]

Course Descriptions


General Education Courses  

Courses offered at the SDSU Imperial Valley campus.  

Detailed information about course offerings can be found on the Class Schedule website.

 

Computational Science

  
  • COMP 799A - Thesis or Project


    Units: 3

    Grading Method: Cr/NC/RP

    Prerequisite(s): An officially appointed thesis committee and advancement to candidacy.

    Preparation of a project or thesis for the master’s degree.

  
  • COMP 799B - Thesis or Project Extension


    Units: 0

    Grading Method: Cr/NC

    Prerequisite(s): Prior registration in Thesis or Project 799A with an assigned grade symbol of RP.

    Registration required in any semester or term following assignment of RP in Course 799A in which the student expects to use the facilities and resources of the university; also student must be registered in the course when the completed thesis or project is granted final approval.

  
  • COMP 799C - Comprehensive Examination Extension


    Units: 0

    Grading Method: Cr/NC

    Prerequisite(s): Completion or concurrent enrollment in degree program courses.

    Registration required of students whose only requirement is completion of the comprehensive examination for the master’s degree. Registration in 799C limited to two semesters.

  
  • COMP 800 - Seminar


    Units: 3

    Grading Method: Cr/NC/RP

    Prerequisite(s): Admission to the doctoral program.

    Topics in different areas of computational science.

  
  • COMP 810 - Colloquium in Computational Science


    Units: 1

    Grading Method: Cr/NC/RP

    Prerequisite(s): Admission to the doctoral program.

    Discussions on advances in computational science research. Course to be taken every semester.

  
  • COMP 894 - Supervised Research, Qualifying Examination, and Dissertation Proposal


    Units: 3-9

    Grading Method: Cr/NC/RP

    Prerequisite(s): Admission to the doctoral program and consent of instructor.

    Research and preparation for qualifying examination.

  
  • COMP 896 - Practicum


    Units: 1-9

    Grading Method: Cr/NC/RP

    Prerequisite(s): Admission to the doctoral program.

    Independent investigation in general area of field of dissertation. Conducted in industry or national laboratory under faculty supervision. Maximum Credits: 36 units.

  
  • COMP 897 - Doctoral Research


    Units: 1-9

    Grading Method: Cr/NC/RP

    Prerequisite(s): Admission to the doctoral program.

    Independent investigation in general field of dissertation. Maximum Credits: 36 units.

  
  • COMP 898 - Doctoral Special Study


    Units: 1-3

    Grading Method: Cr/NC/RP

    Prerequisite(s): Advancement to candidacy.

    Individual study leading to study and research required for doctoral dissertation.

  
  • COMP 899 - Doctoral Dissertation


    Units: 1-15

    Grading Method: Cr/NC/RP

    Prerequisite(s): An officially constituted dissertation committee and advancement to candidacy.

    Preparation of the dissertation for the doctoral degree. Enrollment is required during the term in which the student plans to graduate.


Computer Engineering

  
  • COMPE 160 - Introduction to Computer Programming


    Units: 3

    Two lectures and three hours of laboratory.

    Prerequisite(s): Credit or concurrent registration in MATH 150 .

    Computer organization and operation. Binary representation of information. Fundamentals of computer programming using a C family language: data types, selection and iteration structures, functions, arrays, pointers, scope and duration of variables. Systematic design and development of computer programs.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 260 - Data Structures and Object-Oriented Programming in C++


    Units: 3

    Prerequisite(s): COMPE 160  with a grade of C (2.0) or better. Credit or concurrent registration in MATH 245 .

    Data structures using object-oriented programming in C++. Disciplined approach to design, coding, and testing using OOP, teach use and implementation of data abstractions using data structures. Arrays, linked lists, stacks, queues, trees. Sorting, searching, recursive algorithms.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 270 - Digital Systems


    Units: 3

    Prerequisite(s): Credit or concurrent registration in MATH 151 .

    Modelling, analysis and design of digital systems, primarily at the Logic Design level. Combinational and sequential networks.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 271 - Computer Organization


    Units: 3

    Prerequisite(s): COMPE 160  with a grade of C (2.0) or better. Grade of C- (1.7) or better in COMPE 270 .

    Organization and operation of computer hardware and software. Operating system shell and services. Program design and development. Input-output programming. Multi-module and mixed-language programming. Assembler and C language.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 361 - Windows Programming


    Units: 3

    Prerequisite(s): COMPE 260  and COMPE 271  with a grade of C- (1.7) or better in each course.

    Object Oriented Programming (OOP) using C# and .NET Framework. Graphical User Interface (GUI) and event-driven programming. Visual Studio Integrated Development Environment (IDE). Graphics programming.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 375 - Embedded Systems Programming


    Units: 3

    Two lectures and three hours of laboratory.

    Prerequisite(s): COMPE 271  with a grade of C- (1.7) or better.

    Embedded system architecture; IO programming using parallel ports, serial ports, timers, and D/A and A/D converters; interrupts and real-time programming; program development and debugging tools; C language and assembler.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 470 - Digital Circuits


    Units: 3

    Prerequisite(s): COMPE 270  with a grade of C- (1.7) or better.

    Design of digital electronic systems using commercially available high-speed digital devices and circuits.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 470L - Digital Logic Laboratory


    Units: 1

    Three hours of laboratory.

    Prerequisite(s): COMPE 470  and E E 330L .

    Hands-on experience in characterization and application of standard digital integrated circuit devices.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 475 - Microprocessors


    Units: 3

    Prerequisite(s): COMPE 375  with a grade of C- (1.7) or better. COMPE 470 .

    Fundamentals and practice of modern processor design, including branch prediction, context switching, data and control hazards, exception handling, instruction set architecture, microarchitecture design, memory hierarchy, multi-core processors, multi-threading, parallelism, performance measurements, pipeline processors, out-of-order execution.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 491 - Senior Design Project-A


    Units: 2

    One lecture and three hours of laboratory.

    Prerequisite(s): COMPE 361 , COMPE 375 , E E 330L . Credit or concurrent registration in COMPE 470 .

    Senior design project preparation to include building a team, finding an advisor, identifying a project, giving a professional presentation, preparing descriptive information and design documentation, securing funding. Design using CAD PCB tools. Ethics and professionalism in a work environment.

  
  • COMPE 492 - Senior Design Project-B


    Units: 2

    Prerequisite(s): COMPE 491  

    Supervised team-based capstone design project to provide integrative design experience for seniors to demonstrate a working project.

  
  • COMPE 496 - Advanced Computer Engineering Topics


    Units: 1-3

    Prerequisite(s): Consent of instructor.

    Modern developments in computer engineering. Maximum Credits: nine units for any combination of Computer Engineering 496 and 596 applicable to a bachelor’s degree.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted. See Class Schedule for specific content.

  
  • COMPE 499 - Special Study


    Units: 1-3

    Prerequisite(s): Approval of project adviser and department chair.

    Individual study. Maximum Credits: six units.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 560 - Computer and Data Networks


    Units: 3

    Prerequisite(s): COMPE 271  and E E 410  with a grade of C- (1.7) or better in each course.

    Wide area and local area networks, multi-layered protocols, telephone systems, modems, and network applications.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 561 - Windows Database and Web Programming


    Units: 3

    Prerequisite(s): COMPE 361  with a grade of C- (1.7) or better.

    Programming applications involving file systems, relational databases, Structured Query Language (SQL), ADO.NET, client-server architecture, multithreading sockets, web servers, web browsers, web services, ASP.NET, Hypertext Markup Language (HTML), and Extensible Markup Language (XML).

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 565 - Multimedia Communication Systems


    Units: 3

    Prerequisite(s): Credit or concurrent registration in COMPE 560 .

    Design and implementation of multimedia communication systems. Image compression, JPEG, VQ, cell-B standards. Video and audio compression standards, MPEG, MPEG-2, H.26X, G.72X. Data storage systems and multimedia requirements. Networking requirements and networks as multimedia carriers. Transport and network protocols for carrying multimedia over data networks. Multimedia system design, scheduling, congestion control, traffic shaping, buffer management.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 570 - VLSI System Design


    Units: 3

    Prerequisite(s): COMPE 470  with a grade of C (2.0) or better.

    VLSI systems at the architectural level for digital signal processing applications: feedforward and feedback systems, fixed-point and floating-point representations, folding, iteration bound, parallel architectures, pipelining, retiming, unfolding, wave and asynchronous pipelining. Formerly numbered Electrical Engineering 672.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 571 - Embedded Operating Systems


    Units: 3

    Prerequisite(s): COMPE 260  with a grade of C- (1.7) or better. COMPE 375 .

    Real-time kernel, basic kernel services, threading and synchronization, preemptive multithreading, mutexes, spin locks, critical sections, priority scheduling, interrupts, RTOS implementation, memory management, task management, intertask communications.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 572 - VLSI Circuit Design


    Units: 3

    Prerequisite(s): COMPE 271  with a grade of C- (1.7) or better. E E 330 .

    Design of digital integrated circuits based on CMOS technology; characterization of field effect transistors, transistor level design and simulation of logic gates and subsystems; chip layout, design rules, introduction to processing; ALU architecture.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted.

  
  • COMPE 596 - Advanced Computer Engineering Topics


    Units: 1-3

    Prerequisite(s): Consent of instructor.

    Modern developments in computer engineering. May be repeated with new content. Maximum Credits: nine units for any combination of Computer Engineering 496 and 596 applicable to a bachelor’s degree.

    Note: Prerequisites will be enforced in all undergraduate computer engineering and electrical engineering courses numbered 100 through 599. A copy of an official transcript will be accepted as proof. For corequisites, an enrollment confirmation form will be accepted. See Class Schedule for specific content. Credit for 596 and 696 applicable to a master’s degree with approval of the graduate adviser.


Computer Science

  
  • CS 100 - Computer Science Principles


    Units: 3 GE

    Prerequisite(s): Satisfaction of the SDSU Mathematics/Quantitative Reasoning Assessment requirement.

    Capabilities and applications of computers. Algorithmic problem-solving methods and computer programming. Using computers to examine questions from other fields of study. Practical and theoretical limits to computation. Machine intelligence and heuristic problem solving. Social and legal impact of computers.

  
  • CS 150 - Introductory Computer Programming


    Units: 3

    Prerequisite(s): Credit or concurrent registration in CS 150L .

    Computing methodology, process, and computational problem solving. Algorithm Design; program design, development, and testing. Not open to students with credit in CS 107 .

  
  • CS 150L - Introductory Computer Programming Laboratory


    Units: 1

    Three hours of laboratory. 

    Prerequisite(s): Credit or concurrent registration in CS 150 .

    Programming experiences designed to demonstrate and reinforce concepts through active experimentation and programming exercises.
     

  
  • CS 160 - Intermediate Computer Programming


    Units: 3

    Prerequisite(s): CS 150  and credit or concurrent registration in CS 160L .

    Advanced computing methodology, process, and computational problem solving. Programming environment and data structures. Object-oriented program design and development. Binary trees, linear lists, maps, queues, recursion, stacks. Not open to students with credit in CS 108 .

  
  • CS 160L - Intermediate Computer Programming Laboratory


    Units: 1

    Three hours of laboratory.

    Prerequisite(s):  CS 150  and credit or concurrent registration in CS 160 .

    Programming experiences designed to demonstrate and reinforce concepts through active experimentation and programming exercises.
     

  
  • CS 200 - Introduction to Data Science and Python


    Units: 4

    Basic data analysis with Python to include confidence intervals, regression, and sampling. Data structures, displaying data, and programming constructs.

    Note: Not open to Computer Science majors.

  
  • CS 210 - Data Structures


    Units: 3

    Grading Method: Letter (No Cr/NC)

    Only offered at: SDSU San Diego

    Prerequisite(s): CS 160.  

    Representations and operations on basic data structures. Arrays, linked lists, stacks, queues, and recursion; binary search trees and balanced trees; hash tables, dynamic storage management; introduction to graphs. An object oriented programming language will be used. Formerly numbered CS 310.

  
  • CS 240 - Computer Organization


    Units: 3

    Prerequisite(s): Credit or concurrent registration in CS 160 .

    Organization and assembly language to include CPU, logic circuits, and memory. Data representation, interrupts, looping and addressing techniques, macros, and traps. Not open to students with credit in CS 237 .

  
  • CS 250 - Introduction to Software Systems


    Units: 3

    Prerequisite(s): CS 240 .

    Alternatives analyses, information management, networking and communications, parallel and distributed processing, principles and practices, security and encryption. Ethical, legal, and social issues in computing. Modeling will be used to capture and explore designs.

  
  • CS 296 - Experimental Topics


    Units: 1-4

    Selected topics. May be repeated with new content.

    Note: See Class Schedule for specific content. Limit of nine units of any combination of 296, 496, 596 courses applicable to a bachelor’s degree.

  
  • CS 299 - Special Study


    Units: 1-3

    Prerequisite(s): Consent of instructor.

    Individual study. Maximum Credits: six units.

  
  • CS 301 - Computers and Society


    Units: 3 GE

    Prerequisite(s): Completion of the General Education requirement in Foundations of Learning II.A., Natural Sciences and Quantitative Reasoning.

    Impact of computers and computing technology on society: applications, benefits, and risks. Topics include privacy, copyright, computer crime, constitutional issues, risks of computer failures, evaluating reliability of computer models, computers in the workplace, trade and communications in the global village.

    Note: Not open to computer science majors or to students with credit in CS 440 .

  
  • CS 320 - Programming Languages


    Units: 3

    Prerequisite(s): CS 160  and CS 160L .

    Principles of high-level programming languages, including formal techniques for syntax specification and implementation issues. Languages studied should include at least C++, FORTRAN, and LISP.

  
  • CS 370 - Computer Architecture


    Units: 3

    Only offered at: SDSU San Diego

    Prerequisite(s): CS 240 .

    Logic gates, combinational circuits, sequential circuits, memory and bus system, control unit, CPU, exception processing, traps and interrupts, input-output and communication, reduced instruction set computers, use of simulators for analysis and design of computer circuits, and traps/interrupts.

  
  • CS 420 - Advanced Programming Languages


    Units: 3

    Only offered at: SDSU San Diego

    Prerequisite(s): CS 210 

    Concurrent programming, logic programming, object-oriented programming. Implementation issues. Formerly numbered CS 520.

  
  • CS 440 - Social, Legal, and Ethical Issues in Computing


    Units: 3

    Prerequisite(s): CS 160  and CS 160L .

    Impact of computers, applications, and benefits, copyright, privacy, computer crime, constitutional issues, risks of computer failures, evaluating reliability of computer models, trade and communications in the global village, computers in the workplace, responsibilities of the computer professional.

    Note: Not open to students with credit in CS 301 .

  
  • CS 450 - Introduction to Artificial Intelligence


    Units: 3

    Prerequisite(s): CS 210 MATH 254 STAT 250 .

    First-order logic. Heuristic and uninformed search. Deep neural networks, hierarchical clustering, k-means, linear regression, support vector machines. Image classification and object tracking. Language models, parsing, speech generation.
      Formerly numbered CS 550.

  
  • CS 460 - Algorithms


    Units: 3

    Prerequisite(s): CS 210  and MATH 245 .

    Algorithms for solving frequently occurring problems. Analysis techniques, divide and conquer algorithms with applications, graph problems, greedy algorithms. Introduction to NP complete problems. Formerly numbered CS 560

  
  • CS 470 - UNIX System Administration


    Units: 3

    Prerequisite(s): CS 370 .

    Installing the UNIX operating system on a UNIX workstation, adding user accounts, backing up and restoring user files, installing windows, adding network capabilities, adding printers and other peripherals.

  
  • CS 480 - Operating Systems


    Units: 3

    Prerequisite(s): CS 210  and CS 370 

    File system, I/O management, interprocess communication, memory management, processes and threads, program structures, thread synchronization, virtual memory. Formerly numbered CS 570.

  
  • CS 490 - Senior Seminar


    Units: 1

    Two hours of activity. 

    Prerequisite(s): Fifteen units of upper division computer science courses.

    Preparation and delivery of oral presentations on advanced topics in computer science. General principles of organization and style appropriate for presenting such material.

  
  • CS 496 - Experimental Topics


    Units: 1-4

    Selected topics. May be repeated with new content.

    Note: See Class Schedule for specific content. Limit of nine units of any combination of 296, 496, 596 courses applicable to a bachelor’s degree.

  
  • CS 497 - Undergraduate Research Seminar


    Units: 3

    Six hours of laboratory and one hour with adviser.

    Prerequisite(s): CS 460  or CS 480 , minimum grade point average of 3.3, and consent of instructor.

    Designing and carrying out independent research in one of the areas of computer science. Literature search, technical report writing, and oral presentation of results.

  
  • CS 498 - Undergraduate Honors Thesis


    Units: 3

    Prerequisite(s): CS 497  and consent of instructor.

    Directed research in computer science and completion of honors thesis. Thesis to be presented at the annual SDSU Research Symposium and/or defended before a committee of faculty. Maximum Credits: six units.

  
  • CS 499 - Special Study


    Units: 1-3

    Prerequisite(s): Consent of instructor.

    Individual study. Maximum Credits: six units.

  
  • CS 503 - Scientific Database Techniques


    Units: 3

    Prerequisite(s): CS 210  and MATH 245 .

    Fundamental data models for handling scientific data, including flat file, indexed compressed files, relational databases, and object oriented databases, and their associated query technologies; e.g. file formats, input/output libraries, string searching, structured query language, object-oriented structured query language, hypertext markup language/common gateway interface, and other specialized interfaces. Designed for computational science students.

    Note: Computer science majors must obtain adviser approval. See CS 514 .

  
  • CS 514 - Database Theory and Implementation


    Units: 3

    Prerequisite(s): CS 210  and MATH 245 .

    Database systems architecture. Storage structures and access techniques. Relational model, relational algebra and calculus, normalization of relations, hierarchical and network models. Current database systems.

  
  • CS 530 - Systems Programming


    Units: 3

    Prerequisite(s): CS 210  and CS 240 .

    Design and implementation of system software. Relationship between software design and machine architecture. Assemblers, compilers, debuggers, editors, linkers and loaders, macro processors. Object oriented concepts and programming fundamentals.

    Note: Not acceptable for the M.S. degree in computer science.

  
  • CS 532 - Software Engineering


    Units: 3

    Prerequisite(s): CS 250 .

    Theory and methodology of programming complex computer software. Analysis, design, and implementation of programs. Team projects required.

  
  • CS 537 - Programming for GIS


    Units: 3

    Prerequisite(s): CS 210  or GEOG 484 .

    Customization of Geographic Information Science application development platforms with emphasis on object oriented programming and component architecture. Prominent examples are Map Objects with Visual Basic, Map Objects with Java. Considerable programming effort required, especially in Graphical User Interface development.

  
  • CS 540 - Software Internationalization


    Units: 3

    Prerequisite(s): CS 210 .

    Principles, techniques, and resources for design and implementation of software localizable to multiple languages and/or cultures, including detailed examination of internationalization features provided by one or more widely used modern programming languages.

  
  • CS 545 - Introduction to Web Application Development


    Units: 3

    Only offered at: SDSU Global Campus

    Prerequisite(s): CS 210 .

    World Wide Web application development. Client-side and server-side scripting, CSS, Javascript, PHP and CGI programming with Perl, XHTML. Application integration with SQL database systems.

  
  • CS 546 - Human Computer Interfaces


    Units: 3

    Only offered at: SDSU Global Campus

    Prerequisite(s): CS 210  and CS 420 .

    Common interface idioms and support available for loose integration into aesthetically appealing and practical, efficient interaction between humans and machine. Editors, browsers, games, networking sites, posting boards, etc. Principles that are ubiquitous among tools for HCI development.

  
  • CS 547 - Programming and Scripting Languages for Web Applications


    Units: 3

    Only offered at: SDSU Global Campus

    Prerequisite(s): CS 210  and CS 320 .

    Principles and practice of dynamic and scripting and functional languages used in web applications. Basic language concepts, data structures in dynamic languages, code structure, code quality, testing, string manipulation, dynamic code generation.

  
  • CS 549 - Machine Learning


    Units: 3

    Prerequisite(s): CS 210  and MATH 254 .

    Algorithms and computer methods for machine learning. Supervised methods: convolutional neural networks, feedforward neural networks, linear regression, logistic regression, support vector machine; unsupervised methods: dimensionality reduction, k-means clustering, subspace learning. Applications in classification, regression and visualization.

  
  • CS 550 - Artificial Intelligence


    Units: 3

    Prerequisite(s): CS 210  and either MATH 245  or MATH 523 .

    Heuristic approaches to problem solving. Systematic methods of search of the problem state space. Theorem proving by machine. Resolution principle and its applications.

  
  • CS 553 - Neural Networks


    Units: 3

    Prerequisite(s): CS 210  and MATH 254 .

    Computer algorithms and methods for neural networks. Convolutional networks, feedforward networks, generative adversarial networks, graphical neural networks, recurrent neural networks; backward propagation, computational graph, regularization, stochastic gradient descent; autoencoder networks and deep structure models.

  
  • CS 556 - Robotics


    Units: 3

    Prerequisite(s): CS 450 , MATH 254 , and familiarity with Matlab programming language.

    Robotic systems and their components. Spatial descriptions and transformations. Kinematics and inverse kinematics of robots. Robotic programming and simulation environments to include Matlab Robotics Toolbox. Mobile robots. Trajectory tracking and control. Path planning.

  
  • CS 558 - Computer Simulation


    Units: 3

    Prerequisite(s): CS 210  and STAT 550 .

    Methodology of simulation for discrete and continuous dynamic systems. State-of-the-art programming techniques and languages. Statistical aspects of simulation. Students will design, program, execute, and document a simulation of their choice.

  
  • CS 559 - Computer Vision


    Units: 3

    Prerequisite(s): CS 210  and MATH 254 .

    Algorithms and computer methods for processing of images, edge detection and filtering in spatial domain, FFT and filtering, frequency domain analysis of images, image compression, low level image processing, neighborhood operations, segmentation.

  
  • CS 561 - Deep Learning for Natural Language Processing


    Units: 3

    Prerequisite(s): CS 420 .

    Approaches on deep neural networks. Common tasks, modern programming frameworks, and state-of-the-art models.

  
  • CS 562 - Automata Theory


    Units: 3

    Prerequisite(s): MATH 245 .

    Definition of finite automata. Classification of finite automaton definable languages. Minimization of finite automata. Nondeterministic finite automata. Sequential machines with output. Regular sets and expressions. Introduction to grammars.

  
  • CS 572 - Microprocessor Architecture


    Units: 3

    Prerequisite(s): CS 370  and knowledge of the C programming language.

    Architecture of state-of-the-art microprocessor. Internal pipeline, internal cache, external cache, and memory management. Programming a uniprocessor. Communication among computers in a distributed environment. Architecture and programming of a multiprocessor system.

  
  • CS 574 - Computer Security


    Units: 3

    Prerequisite(s): CS 480  and MATH 245 .

    Principles of computer security and application of principles to operating systems, database systems, and computer networks. Topics include encryption techniques, access controls, and information flow controls.

  
  • CS 576 - Computer Networks and Distributed Systems


    Units: 3

    Prerequisite(s): Credit or concurrent registration in CS 480 .

    Basic networking concepts to include seven-layer reference model, transmission media, addressing, subnetting and supernetting, networking devices, LANs and WANs, internetworking, distributed processing, and client-server model. Basic concepts and protocols of TCP/IP protocol suite and basic Internet services.

  
  • CS 577 - Principles and Techniques of Data Science


    Units: 3

    Prerequisite(s): CS 210 , MATH 254 , and STAT 250 .

    Data classification, cleaning, common representation and operations, dimensionality reduction, hypothesis testing, life cycle, regression, statistical inference, and visualization.

  
  • CS 578 - Wireless Networks


    Units: 3

    Prerequisite(s): CS 210 .

    Current and future protocols, fundamental theories, low power Internet of things and wireless sensor networks.

  
  • CS 581 - Computational Linguistics


    Units: 3

    Same As: LING 581 .
    Prerequisite(s): CS 420 , LING 571 , or LING 572  [or BDA 572 ].

    Basic concepts in computational linguistics including regular expressions, finite-state automata, finite-state transducers, weighted finite-state automata, and n-gram language models. Applications to phonology, orthography, morphology, syntax. Probabilistic models. Statistical techniques for speech recognition.

  
  • CS 582 - Introduction to Speech Processing


    Units: 3

    Prerequisite(s): CS 210 .

    Fundamentals of speech processing and speech recognition. Physical aspects of speech production and perception. Mathematical models for speech recognition. Corpus development: data collection, processing, and evaluation. Applications of speech processing and associated research topics.

  
  • CS 583 - 3D Game Programming


    Units: 3

    Prerequisite(s): CS 210 .

    Development of programming skills using software environment of a game engine and its scripting language. 3D concepts for game play, modeling, and programming. Roles needed in software development team. Contrast creation of original 3D object models for game world with incorporation of pre-created generic models.

  
  • CS 596 - Advanced Topics in Computer Science


    Units: 1-4

    Prerequisite(s): Consent of instructor.

    Selected topics in computer science. May be repeated with the approval of the instructor. Maximum Credits: six units of 596 applicable to a bachelor’s degree.

    Note: See Class Schedule for specific content. Limit of nine units of any combination of 296, 496, 596 courses applicable to a bachelor’s degree. Credit for 596 and 696 applicable to a master’s degree with approval of the graduate adviser.

  
  • CS 600 - Methods in Bioinformatics, Medical Informatics, and Cheminformatics


    Units: 3

    Same As: BIOMI 600 .
    Prerequisite(s): Three units of calculus and graduate standing.

    Computer, mathematical, and engineering techniques for bioinformatics, cheminformatics, and medical informatics. Techniques used in microarray data analysis, gene and protein sequence alignment, and classification techniques in medical decision making.

  
  • CS 605 - Scientific Computing


    Units: 3

    Same As: COMP 605 .
    Prerequisite(s): Graduate standing and knowledge of the C programming language or FORTRAN or COMP 526 .

    Parallel programming using message passing to include high performance computing and MPI language extensions.

  
  • CS 608 - Programming Problems in Bioinformatics


    Units: 3

    Same As: BIOMI 608 .
    Prerequisite(s): CS 210  with a grade of C (2.0) or better.

    Coding bioinformatics algorithms for biological data analysis.

  
  • CS 609 - Computational Genomics and Bioinformatics


    Units: 3

    Same As: BIOMI 609 .
    Prerequisite(s): CS 503  or CS 514  and classified graduate standing.

    Biological and genomic data. Application of computational algorithms to biological questions. Post-genomic techniques in annotation and comparison of microbial and eukaryotic genome sequences.

  
  • CS 615 - Spatial Database


    Units: 3

    Prerequisite(s): CS 514 . Recommended: CS 460 .

    Strategies for databases in which locations are prominent. Access strategies such as quadtrees and R-trees. Topological and other spatial extensions to query languages. Spatial models like non-intersection. Oracle spatial features. Object and object-oriented databases.

  
  • CS 620 - Formal Languages and Syntactic Analysis I


    Units: 3

    Prerequisite(s): CS 460  and CS 420 .

    Regular, context-free, context-sensitive, and general grammars. Corresponding machine model recognizers. Chomsky and Greibach normal forms. Closure, decidability and undecidability properties.

  
  • CS 635 - Advanced Object-Oriented Design and Programming


    Units: 3

    Prerequisite(s): Knowledge of an object-oriented programming language and classified graduate standing.

    Advanced topics in object-oriented programming and design, code reuse, building class libraries, quality of objects, coupling, cohesion, design patterns, distributed objects.

  
  • CS 636 - Management of Software Development


    Units: 3

    Prerequisite(s): CS 532  and classified graduate standing.

    Managing software projects. Modern software management process models. Project planning, cost estimation, tracking and control, staffing, risk management, and software process improvement.

  
  • CS 645 - Advanced Web Application Development


    Units: 3

    Only offered at: SDSU Global Campus

    Prerequisite(s): CS 545  and classified graduate standing.

    XHTML, CSS, JavaScript, client-side and server-side scripting, Java servlets, JSP, Frameworks. Server systems and development tools appropriate for large, complex project. SQL database via JDBC.

  
  • CS 646 - Mobile Application Development


    Units: 3

    Only offered at: SDSU Global Campus

    Prerequisite(s): CS 460 .

    Design and implementation of applications for smart mobile phones and mobile devices. May be repeated with new content. Maximum Credits: six units applicable to a master’s degree.

    Note: See Class Schedule for specific content, including device types.

  
  • CS 648 - Advanced Topics in Web and Mobile Applications


    Units: 3

    Only offered at: SDSU Global Campus

    Prerequisite(s): CS 545  and classified graduate standing.

    Advanced technologies, issues, and concepts in Web and mobile software development. May be repeated with new content. Maximum Credits: six units applicable to a master’s degree.

    Note: See Class Schedule for specific content.

  
  • CS 649 - Big Data Tools and Methods


    Units: 3

    Prerequisite(s): CS 550  and either CS 503  or CS 514  with a grade of C (2.0) or better in each course.

    Analyze, curate, search, and visualize big data. Apache MapReduce and Spark, distributed databases and messaging/streaming, electronic notebooks, NoSQL databases, programming languages, statistics.

  
  • CS 653 - Data Mining and Knowledge


    Units: 3

    Prerequisite(s): CS 450 .

    Foundations of data mining and knowledge discovery. Diverse methods, algorithms, design techniques and application practice including statistical and Bayesian methods, pattern recognition, clustering, knowledge discovery in data sets, machine learning, neural networks, rough and fuzzy sets.

  
  • CS 656 - Advanced Robotics


    Units: 3

    Prerequisite(s): CS 556 .

    Robot kinematics to include Jacobians and velocity. Robot dynamics and joint-space/task-space tracking and control. Genetic algorithms and clustering for inverse kinematics. Trajectory tracking and path planning with mobile robots and articulated rovers.

  
  • CS 657 - Intelligent Systems


    Units: 3

    Prerequisite(s): CS 450  and CS 460 .

    Genetic and evolutionary algorithms and applications, fuzzy logic and approximate reasoning, rule-based inference engines, intelligent path planning and applications to robotics, dynamic systems and their simulations using Simulink, conventional control and intelligent control, intelligent agents.

  
  • CS 659 - Visual Perception and Learning


    Units: 3

    Prerequisite(s): CS 210  and MATH 254 .

    Computer algorithms and methods for computer vision. Edge detection, histogram of gradients, image filtering, machine learning, robust matching and model fitting, scale-invariant feature transform, stereo vision and 3D scene reconstruction. Object detection, recognition, and visual tracking.

  
  • CS 660 - Algorithm Analysis and Design


    Units: 3

    Prerequisite(s): CS 460 .

    Algorithm design techniques. Approximation algorithms and reductions among NP-complete problems. Greedy and divide and conquer algorithms. Linear and dynamic programming. Graph algorithms and network flow. NP and computational interactability.

  
  • CS 662 - Theory of Parallel Algorithms


    Units: 3

    Prerequisite(s): CS 460  and MATH 254 .

    Models for parallel computation. Parallel algorithms for several common problems including sorting, searching, graph problems, and matrix problems. Complexity of parallel algorithms. Lower bounds on parallel complexity.

  
  • CS 664 - Theory of Computability


    Units: 3

    Prerequisite(s): CS 562  and classified graduate standing.

    Turing machines and other formal models of computation. Recursive function theory. The Ackermann function. Solvable and unsolvable problems.

 

Page: 1 <- Back 108 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18Forward 10 -> 50