Computer Science 2020-2021
Computer Science 2020-2021
they are accepted into the premajor at SDSU (assuming continu- grade point average.
ous enrollment). The certificate requires 27 units distributed between the
Major Academic Plans (MAPs) departments of Computer Science and Geography as follows:
Visit http://www.sdsu.edu/mymap for the recommended 12-15 units selected from Computer Science 107, 108, 310, 320,
courses needed to fulfill your major requirements. The MAPs 503, 514, 520, 537, and 12-15 units selected from Geography
website was created to help students navigate the course require- 104, 381, 484, 581-592. Courses with relevant content (e.g. Com-
ments for their majors and to identify which General Education puter Science 596 or Geography 596) may be substituted for the
course will also fulfill a major preparation course requirement. computer science and geography courses with the approval of
the certificate adviser. Courses in the certificate may be counted
toward the major in computer science if applicable.
•
*Additional prerequisites required for this certificate.
207
Computer Science
208
Computer Science
UPPER DIVISION COURSES CS 547. Programming and Scripting Languages for Web
(Also Acceptable for Advanced Degrees) Applications (3)
(Offered only through SDSU World Campus)
CS 503. Scientific Database Techniques (3) Prerequisites: Computer Science 310 and 320.
Prerequisites: Computer Science 310 and Mathematics 245. Principles and practice of dynamic and scripting and functional
Fundamental data models for handling scientific data, includ- languages used in web applications. Basic language concepts,
ing flat file, indexed compressed files, relational databases, and data structures in dynamic languages, code structure, code quality,
object oriented databases, and their associated query technolo- testing, string manipulation, dynamic code generation.
gies; e.g. file formats, input/output libraries, string searching, struc-
CS 550. Artificial Intelligence (3)
tured query language, object-oriented structured query language,
hypertext markup language/common gateway interface, and other Prerequisites: Computer Science 310 and either Mathematics
specialized interfaces. Designed for computational science stu- 245 or 523.
dents. Computer science majors must obtain adviser approval. See Heuristic approaches to problem solving. Systematic methods of
Computer Science 514. search of the problem state space. Theorem proving by machine.
Resolution principle and its applications.
CS 514. Database Theory and Implementation (3)
Prerequisites: Computer Science 310 and Mathematics 245. CS 556. Robotics: Mathematics, Programming, and Control (3)
Database systems architecture. Storage structures and access Prerequisites: Computer Science 320, Mathematics 254, knowl-
techniques. Relational model, relational algebra and calculus, nor- edge of the C programming language.
malization of relations, hierarchical and network models. Current Robotic systems including manipulators, actuators, sensors, and
database systems. controllers. Kinematics of planar robots. Design and implementa-
tion of robot joint controllers. Robot programming languages and
CS 520. Advanced Programming Languages (3) environments, and robot command interfaces.
Prerequisites: Computer Science 237, 310, and 320.
CS 558. Computer Simulation (3)
Object oriented programming, concurrent programming, logic
programming. Implementation issues. Prerequisites: Computer Science 310 and Statistics 550.
Methodology of simulation for discrete and continuous dynamic
CS 530. Systems Programming (3) systems. State-of-the-art programming techniques and languages.
Prerequisites: Computer Science 237 and 310. Statistical aspects of simulation. Students will design, program,
Design and implementation of system software. Relationship execute, and document a simulation of their choice.
between software design and machine architecture. Topics from
CS 559. Computer Vision (3)
assemblers, loaders and linkers, macro processors, compilers,
debuggers, editors. Introduction to software engineering and Prerequisites: Computer Science 310 and Mathematics 254.
review of programming fundamentals and object oriented con- Algorithms and computer methods for processing of images.
cepts. Large project in object oriented programming is required. Visual perception as a computational problem, image formation,
Not acceptable for the M.S. degree in computer science. characterization of images, feature extraction, regional and edge
detection, computer architectures for machine vision.
CS 532. Software Engineering (3)
Prerequisites: Computer Science 320 and 530. CS 560. Algorithms and Their Analysis (3)
Theory and methodology of programming complex computer Prerequisites: Computer Science 310 and Mathematics 245.
software. Analysis, design, and implementation of programs. Team Algorithms for solving frequently occurring problems. Analysis
projects required. techniques and solutions to recurrence relations. Searching and
sorting algorithms. Graph problems (shortest paths, minimal span-
CS 537. Programming for GIS (3) ning trees, graph search, etc.). NP complete problems. Not accept-
Prerequisite: Computer Science 310 or Geography 484. able for the M.S. degree in Computer Science.
Customization of Geographic Information Science application
CS 562. Automata Theory (3)
development platforms with emphasis on object oriented program-
ming and component architecture. Prominent examples are Map Prerequisite: Mathematics 245.
Objects with Visual Basic, Map Objects with Java. Considerable Definition of finite automata. Classification of finite automaton
programming effort required, especially in Graphical User Interface definable languages. Minimization of finite automata. Nondetermin-
development. istic finite automata. Sequential machines with output. Regular sets
and expressions. Introduction to grammars.
CS 540. Software Internationalization (3)
Prerequisite: Computer Science 310. CS 570. Operating Systems (3)
Principles, techniques, and resources for design and imple- Prerequisites: Computer Science 310, 370, and knowledge of the
mentation of software localizable to multiple languages and/or C programming language.
cultures, including detailed examination of internationalization fea- File systems, processes, CPU scheduling, concurrent program-
tures provided by one or more widely used modern programming ming, memory management, protection. Relationship between the
languages. operating system and underlying architecture. Not acceptable for
the M.S. degree in Computer Science.
CS 545. Introduction to Web Application Development (3)
(Offered only through SDSU World Campus) CS 572. Microprocessor Architecture (3)
Prerequisite: Computer Science 310. Prerequisites: Computer Science 370 and knowledge of the C
World Wide Web application development. XHTML, CSS, Javas- programming language.
cript, client-side and server-side scripting, PHP and CGI program- Architecture of state-of-the-art microprocessor. Internal pipe-
ming with Perl. Application integration with SQL database systems. line, internal cache, external cache, and memory management.
Programming a uniprocessor. Communication among computers
CS 546. Human Computer Interfaces (3) in a distributed environment. Architecture and programming of a
SDSU | General Catalog
209
Computer Science
GRADUATE COURSES
Refer to the Graduate Bulletin.
SDSU | General Catalog
210