0% found this document useful (0 votes)
20 views

Computer Science 2020-2021

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Computer Science 2020-2021

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Computer Science

IN THE COLLEGE OF SCIENCES

OFFICE: Geology/Mathematics/Computer Science 413 Computer Science Major


TELEPHONE: 619-594-6191 With the B.S. Degree in Applied Arts and Sciences
WEBSITE: http://www.cs.sdsu.edu
(Major Code: 07011) (SIMS Code: 773801)
Faculty All candidates for a degree in applied arts and sciences must
Emeritus: Anantha, Baase-Mayers, Beck, Carroll, Donald, Lane, complete the graduation requirements listed in the section of this
Marovac, Riggins, Root, Stewart, Tarokh, Vinge, Vuskovic catalog on “Graduation Requirements.”
Chair: Ren A minor is not required for this major.
Professors: Ren, Roch, Xie Preparation for the Major. Computer Science 107, 108, 237;
Associate Professors: Eckberg, Liu, Wang, Whitney Mathematics 150, 151, 245, 254; Statistics 250. These courses
Assistant Professors: Song, Vu, Xu must be completed with a minimum grade of C (2.0) or better and
Lecturers: Bajic, Kraft cannot be taken for credit/no credit (Cr/NC). (26 units)
Offered by the Department Additional Lower Division Coursework Required. Twelve units
Master of Science degree in computer science. of science courses selected with approval of adviser. Courses
Major in computer science with the B.S. degree must include one of the following two-semester sequences with
in applied arts and sciences. laboratory: Biology 203, 203L, 204, 204L; or Chemistry 200, 201;
or Physics 195, 195L, 196, 196L. The remainder of the 12 units must
Minor in computer science.
be science courses that enhance the student’s ability to apply the
Certificate in geographic information science.
scientific method and must be from a department different from
Certificate in web and mobile applications development the main year-long science sequence.
(refer to the Graduate Bulletin). Graduation Writing Assessment Requirement. Passing the
The Major Writing Placement Assessment with a score of 10 or completing
Computer Science is the study of computers and their appli- one of the approved upper division writing courses (W) with a
cations. It is concerned with methods for storing and retrieving grade of C (2.0) or better. See “Graduation Requirements” section
information, with the design and use of languages for writing com- for a complete listing of requirements.
puter programs, with the hardware systems that interpret such Major. A minimum of 37 upper division units to include Com-
languages, and with the theoretical principles that form the foun- puter Science 310, 320, 370, 440, 490, 530, 560, 570; at least one
dations of computing. Computer Science includes a wide variety course selected from Mathematics 340, 579, Statistics 350A, 550,
of specialties and application areas such as artificial intelligence, or 551A; and 12 units of computer science electives selected with
robotics, graphics, systems programming, simulation, and com- the approval of a computer science major adviser. At least nine
puter networks. units of electives must be in computer science.
The Bachelor of Science in Computer Science is designed to Master Plan. Students should follow the Master Plan Advising
provide students with a fundamental understanding of modern Guide to ensure completion of major requirements. Download it at
computing methodology and programming practices along with a http://www.cs.sdsu.edu/degree-requirements.
complementary knowledge of hardware. The first two years pro- Computer Science Minor
vide the basic preparation in programming, data structures and (SIMS Code: 773801)
architecture. The final two years are devoted to more advanced
The minor in computer science consists of a minimum of 18-23
fundamentals and specialized electives.
units in computer science and mathematics to include Computer
Computers are used to store and manage information, to ana-
Science 107, 108; and at least 12 upper division units, or at least
lyze scientific data, and in a wide variety of other applications.
nine upper division units if the student completes a full calculus
Computing technology is found in an almost limitless number
sequence, i.e., Mathematics 150 and 151. The courses selected are
of settings, ranging from automobiles to household appliances
subject to the approval of the minor adviser. A list of approved elec-
to toys. Because of this, a wide range of jobs are open to peo-
tives is listed at http://www.cs.sdsu.edu/cs-minor-requirements.
ple trained in Computer Science. Employment opportunities are
Courses in the minor may not be counted toward the major,
expected to remain very strong.
but may be used to satisfy preparation for the major and general
Impacted Program education requirements, if applicable. A minimum of six upper
The computer science major is an impacted program. To be division units must be completed in residence at San Diego State
admitted to the computer science major, students must meet the University.
following criteria:
a. Complete preparation for the major. Computer Science 107,
Geographic Information Science
108, 237; Mathematics 150, 151, 245, 254; and Statistics 250 Certificate*
must be completed with a minimum grade of C (2.0) or bet- (SIMS Code: 112949)
ter and cannot be taken for credit/no credit (Cr/NC); The purpose of the program is to prepare students to acquire,
b. Complete a minimum of 60 transferable semester units; analyze, manage, visualize, and develop applications with geo-
c. Have a minimum cumulative GPA of 2.0. spatial data in public and private organizations. Students must
To complete the major, students must fulfill the degree require- apply for admission to the program before the completion of 12
ments for the major described in the catalog in effect at the time certificate units and must complete the required units with a 2.5
SDSU | General Catalog

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

Courses (CS) CS 370. Computer Architecture (3)


Refer to Courses and Curricula and University Policies sections Prerequisite: Computer Science 237.
of this catalog for explanation of the course numbering system, Logic gates, combinational circuits, sequential circuits, memory
unit or credit hour, prerequisites, and related information. and bus system, control unit, CPU, exception processing, traps and
interrupts, input-output and communication, reduced instruction
LOWER DIVISION COURSES set computers, use of simulators for analysis and design of com-
puter circuits, and traps/interrupts.
CS 100. Computational Thinking (3) [GE]
Prerequisite: Satisfaction of the SDSU Mathematics/Quantitative CS 440. Social, Legal, and Ethical Issues in Computing (3)
Reasoning Assessment requirement. Prerequisite: Computer Science 108.
Capabilities and applications of computers. Algorithmic prob- Impact of computers, applications, and benefits, copyright,
lem-solving methods and computer programming. Using comput- privacy, computer crime, constitutional issues, risks of computer
ers to examine questions from other fields of study. Practical and failures, evaluating reliability of computer models, trade and com-
theoretical limits to computation. Machine intelligence and heuris- munications in the global village, computers in the workplace,
tic problem solving. Social and legal impact of computers. responsibilities of the computer professional. Not open to students
with credit in Computer Science 301.
CS 107. Introduction to Computer Programming (3)
Prerequisite: Satisfaction of the SDSU Mathematics/Quantitative CS 470. UNIX System Administration (3)
Reasoning Assessment requirement. Prerequisite: Computer Science 370.
Programming methodology and problem solving. Basic con- Installing the UNIX operating system on a UNIX workstation,
cepts of computer systems, algorithm design and development, adding user accounts, backing up and restoring user files, installing
data types, program structures. Extensive programming in Java. windows, adding network capabilities, adding printers and other
peripherals.
CS 108. Intermediate Computer Programming (3)
Prerequisite: Computer Science 107. CS 490. Senior Seminar (1)
Further training in program design and development. Object-ori- Prerequisite: Fifteen units of upper division computer science
ented programming to include inheritance, polymorphism, and courses.
generic code. Extensive programming in Java. Introduction to data Preparation and delivery of oral presentations on advanced
structures. topics in computer science. General principles of organization and
style appropriate for presenting such material.
CS 200. Introduction to Data Science and Python (4)
Three lectures and two hours of activity. CS 496. Experimental Topics (1-4)
Basic data analysis with Python to include confidence intervals, Selected topics. May be repeated with new content. See Class
regression, and sampling. Data structures, displaying data, and pro- Schedule for specific content. Limit of nine units of any combination
gramming constructs. of 296, 496, 596 courses applicable to a bachelor’s degree.
CS 237. Machine Organization and Assembly Language (3) CS 497. Undergraduate Research Seminar (3)
Prerequisite: Computer Science 108. Six hours of laboratory and one hour with adviser.
General concepts of machine and assembly language, data rep- Prerequisites: Computer Science 560 or 570, minimum grade
resentation, looping and addressing techniques, arrays, subrou- point average of 3.3, and consent of instructor.
tines, macros. Extensive assembly language programming. Designing and carrying out independent research in one of the
areas of computer science. Literature search, technical report writ-
CS 296. Experimental Topics (1-4)
ing, and oral presentation of results.
Selected topics. May be repeated with new content. See Class
Schedule for specific content. Limit of nine units of any combination CS 498. Undergraduate Honors Thesis (3)
of 296, 496, 596 courses applicable to a bachelor’s degree. Prerequisites: Computer Science 497 and consent of instructor.
Directed research in computer science and completion of hon-
CS 299. Special Study (1-3)
ors thesis. Thesis to be presented at the annual SDSU Research
Prerequisite: Consent of instructor. Symposium and/or defended before a committee of faculty. Max-
Individual study. Maximum credit six units. imum credit six units.
UPPER DIVISION COURSES CS 499. Special Study (1-3)
(Intended for Undergraduates) Prerequisite: Consent of instructor.
Individual study. Maximum credit six units.
CS 301. Computers and Society (3) [GE]
Prerequisite: 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 work-
place, trade and communications in the global village. Not open
to computer science majors or to students with credit in Computer
Science 440.
CS 310. Data Structures (3)
Prerequisite: Computer Science 108.
SDSU | General Catalog

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; intro-
duction to graphs. An object oriented programming language will
be used.
CS 320. Programming Languages (3)
Prerequisite: Computer Science 108.
Principles of high-level programming languages, including for-
mal techniques for syntax specification and implementation issues.
Languages studied should include at least C++, FORTRAN, and
• LISP.

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

(Offered only through SDSU World Campus) multiprocessor system.


Prerequisites: Computer Science 310 and 320.
CS 574. Computer Security (3)
Common interface idioms and support available for loose inte-
gration into aesthetically appealing and practical, efficient inter- Prerequisites: Computer Science 310, Mathematics 245, and
action between humans and machine. Editors, browsers, games, credit or concurrent registration in Computer Science 570.
networking sites, posting boards, etc. Principles that are ubiquitous Principles of computer security and application of principles to
among tools for HCI development. operating systems, database systems, and computer networks.
Topics include encryption techniques, access controls, and infor-
mation flow controls.

209
Computer Science

CS 576. Computer Networks and Distributed Systems (3)


Prerequisite: Credit or concurrent registration in Computer Sci-
ence 570.
Basic networking concepts to include seven-layer reference
model, transmission media, addressing, subnetting and supernet-
ting, networking devices, LANs and WANs, internetworking, dis-
tributed processing, and client-server model. Basic concepts and
protocols of TCP/IP protocol suite and basic Internet services.
CS 581. Computational Linguistics (3)
(Same course as Linguistics 581)
Prerequisite: Computer Science 320 or Linguistics 571 or 572 [or
Big Data Analytics 572].
Basic concepts in computational linguistics including regu-
lar expressions, finite-state automata, finite-state transducers,
weighted finite-state automata, and n-gram language models.
Applications to phonology, orthography, morphology, syntax. Prob-
abilistic models. Statistical techniques for speech recognition.
CS 582. Introduction to Speech Processing (3)
Prerequisite: Computer Science 310.
Fundamentals of speech processing and speech recognition.
Physical aspects of speech production and perception. Mathe-
matical models for speech recognition. Corpus development: data
collection, processing, and evaluation. Applications of speech pro-
cessing and associated research topics.
CS 583. 3D Game Programming (3)
Prerequisite: Computer Science 310 or equivalent programming
background.
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 devel-
opment 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 (1-4)
Prerequisite: Consent of instructor.
Selected topics in computer science. May be repeated with the
approval of the instructor. See Class Schedule for specific content.
Limit of nine units of any combination of 296, 496, 596 courses
applicable to a bachelor’s degree. Maximum credit of six units of
596 applicable to a bachelor’s degree. Credit for 596 and 696
applicable to a master’s degree with approval of the graduate
adviser.

For additional courses useful to computer scientists, see:


Mathematics 340. Programming in Mathematics
Mathematics 542. Introduction to Computational Ordinary
of Differential Equations
Mathematics 579. Combinatorics

GRADUATE COURSES
Refer to the Graduate Bulletin.
SDSU | General Catalog

210

You might also like