Department of Computer Science

The Department of Computer Science offers a Bachelor of Science degree in Computer Science with concentrations in Cloud and Systems, Cyber Security, Data Science, and Software Engineering, a Cyber Operations Track, a Bachelor of Arts degree in Computer Science with Teaching Track, and a Minor in Computer Science. The department also offers the Certificate in Pathogenic Outbreak Investigations in collaboration with the Department of Biology and the Department of Information Systems and Cyber Security in the College of Business.

Admission Policy

The goal of the Department of Computer Science is to provide undergraduate students a program of study with the highest possible standards. To achieve this goal, the admission policy of the Department of Computer Science is designed to identify those students most likely to succeed in their undergraduate computer science education.

Direct Admission Criteria

Applicants entering UTSA as Freshmen will be directly admitted to the Department of Computer Science if they:

  • Meet all UTSA undergraduate admission requirements,
  • Are ranked in the top 15 percent of their high school class and a minimum 1350 SAT* or 29 ACT score, and
  • Are Calculus I (or higher) ready

Transfer applicants will be directly admitted to the Department of Computer Science if they:

  • Meet all UTSA undergraduate transfer admission requirements
  • Are Calculus I (or higher) ready

All applicants for admission to the Department of Computer Science must be qualified to take MAT 1214 Calculus I (or higher) and CS 1083 Programming I for Computer Scientists (or higher). Students who do not meet the requirements, but meet UTSA's general admission requirements, will be part of "Engineering, Mathematics, and Sciences Studies (XEMS)" where students will be able to work towards meeting the prerequisites needed to declare Computer Science as their major.  Applicants who are not qualified should be admitted as an undeclared (UND) major.  

A directly admitted computer science (CS) student who fails to complete each of the gateway courses within two attempts from the date of first admission to the Department of Computer Science will be changed from CS to undeclared (UND) in the University student record system. The student must choose a major other than computer science. A computer science minor is, however, available to all UTSA students who seek to complement a different academic major with a strong foundation in computer science.

Bachelor of Science Degree in Computer Science

The Bachelor of Science (B.S.) degree in Computer Science is designed to prepare students with a strong technical emphasis on modern computing and systems. The degree program offers students the opportunity to prepare for advanced graduate study and for careers in high-technology companies, business, government, and teaching. The department offers concentrations in Cloud and Systems, Cyber Security, Data Science, and Software Engineering. The department also offers the B.S. in Computer Science with a Cyber Operations Track.

The B.S. degree in Computer Science requires a minimum of 120 semester credit hours, including the Core Curriculum requirements. Thirty-nine of the total semester credit hours required for the degree must be at the upper-division level.

All majors in computer science are required to complete all required and elective computer science courses with a grade of “C-” or better.

All candidates seeking this degree must fulfill the Core Curriculum requirements and the degree requirements, which are listed below.

Core Curriculum Requirements (42 semester credit hours)

Students seeking the B.S. degree in Computer Science must fulfill University Core Curriculum requirements in the same manner as other students. The course listed below will satisfy both degree requirements and Core Curriculum requirements; however, if this course is taken to satisfy both requirements, then students may need to take an additional course in order to meet the minimum number of semester credit hours required for this degree.

MAT 1214 may be used to satisfy the core requirement in Mathematics as well as a major requirement.

For a complete listing of courses that satisfy the Core Curriculum requirements, see Core Curriculum Component Area Requirements.

Core Curriculum Component Area Requirements

First Year Experience Requirement (3 semester credit hours)

All students must complete one of the following courses, for a total of 3 semester credit hours:

AIS 1203Academic Inquiry and Scholarship3
AIS 1213AIS: Architecture, Construction, and Planning3
AIS 1223AIS: Arts and Humanities3
AIS 1233AIS: Business3
AIS 1243AIS: Engineering, Mathematics, and Sciences3
AIS 1253AIS: Interdisciplinary Education3
AIS 1263AIS: Life and Health Sciences3
AIS 1273AIS: Social Sciences and Public Policy3

Communication (6 semester credit hours)

Students must complete the following courses, for a total of 6 semester credit hours:

WRC 1013Freshman Composition I3
WRC 1023Freshman Composition II3

Mathematics (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

CS 1173Data Analysis and Visualization3
MAT 1023College Algebra with Applications3
MAT 1043Introduction to Mathematics3
MAT 1053Mathematics for Business3
MAT 1073Algebra for Scientists and Engineers3
MAT 1093Precalculus3
MAT 1133Calculus for Business3
MAT 1193Calculus for the Biosciences3
MAT 1214Calculus I4
STA 1053Basic Statistics3

Life and Physical Sciences (6 semester credit hours)

Students must complete two of the following courses for a total of 6 semester credit hours:

ANT 2033Introduction to Biological Anthropology3
AST 1013Introduction to Astronomy3
AST 1033Exploration of the Solar System3
BIO 1233Contemporary Biology I3
BIO 1243Contemporary Biology II3
BIO 1404Biosciences I4
BIO 1414Biosciences II4
CHE 1083Introduction to the Molecular Structure of Matter3
CHE 1093Introduction to Molecular Transformations3
ES 1113Environmental Botany3
ES 1123Environmental Zoology3
ES 1213Environmental Geology3
ES 2013Introduction to Environmental Science I3
ES 2023Introduction to Environmental Science II3
GEO 1013The Third Planet3
GEO 1123Life Through Time3
GES 2613Physical Geography3
PHY 1943Physics for Scientists and Engineers I3
PHY 1963Physics for Scientists and Engineers II3

Language, Philosophy and Culture (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

AAS 2013Introduction to African American Studies3
AAS 2113African American Culture, Leadership and Social Issues3
ANT 2063Language, Thought, and Culture3
ARC 1113Introduction to the Built Environment3
CHN 1014Elementary Chinese I4
CLA 2013Introduction to Ancient Greece3
CLA 2023Introduction to Ancient Rome3
CLA 2323Classical Mythology3
CSH 1103Literary Masterpieces of Western Culture I3
CSH 1113Literary Masterpieces of Western Culture II3
CSH 1213Topics in World Cultures3
CSH 2113The Foreign Film3
ENG 2013Introduction to Literature3
ENG 2023Literature and Film3
ENG 2213Literary Criticism and Analysis3
ENG 2383Multiethnic Literatures of the United States3
ENG 2423Literature of Texas and the Southwest3
ENG 2443Persuasion and Rhetoric3
FRN 1014Elementary French I4
FRN 2333French Literature in English Translation3
GER 1014Elementary German I4
GER 2333German Literature in English Translation3
GES 1023World Regional Geography3
GLA 1013U.S. in the Global Arena3
GRK 1114Introductory Classical Greek I4
HIS 2123Introduction to World Civilization to the Fifteenth Century3
HIS 2133Introduction to World Civilization since the Fifteenth Century3
HIS 2533Introduction to Latin American Civilization3
HIS 2543Introduction to Islamic Civilization3
HIS 2553Introduction to East Asian Civilization3
HIS 2573Introduction to African Civilization3
HIS 2583Introduction to South Asian Civilization3
HUM 2093World Religions3
ITL 1014Elementary Italian I4
ITL 2333Italian Literature in English Translation3
JPN 1014Elementary Japanese I4
LAT 1114Introductory Latin I4
MAS 2013Introduction to Chicano(a) Studies3
PHI 1043Critical Thinking3
PHI 2013Basic Philosophical Problems3
PHI 2023Introduction to Ancient Philosophy3
PHI 2033Introduction to Early Modern Philosophy3
PHI 2123Contemporary Moral Issues3
RUS 1014Elementary Russian I4
RUS 2333Russian Literature in English Translation3
SPN 1014Elementary Spanish I4
SPN 2333Hispanic Literature in English Translation3
WGSS 2013Introduction to Women’s Studies3
WGSS 2023Introduction to LGBTQ Studies3

Creative Arts (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

AHC 1113Survey of Art and Architecture from Prehistoric Times to 13503
AHC 1123Survey of Art and Architecture in Europe and the New World from 1350 to 17503
AHC 1133Survey of Modern Art3
ARC 1513Great Buildings and Cities of the World3
ARC 2413History of Architecture I3
ART 1103Introduction to Visual Arts3
BBL 2023Latino Cultural Expressions3
CLA 2033Introduction to Classical Literature3
DAN 2003Introduction to Dance3
HUM 2023Introduction to the Humanities I3
HUM 2033Introduction to the Humanities II3
HUM 2053History of Film3
MAS 2023Latino Cultural Expressions3
MUS 2243World Music in Society3
MUS 2633American Roots Music3
MUS 2653Music in Culture3
MUS 2663History and Styles of Jazz3
MUS 2673History and Styles of Rock3
MUS 2683History and Styles of Western Art Music3
MUS 2713History of Recorded Music3
MUS 2743Music and Film3
PHI 2073Philosophy of Art3

American History (6 semester credit hours)

Students must complete two of the following courses, for a total of 6 semester credit hours:

HIS 1043United States History: Pre-Columbus to Civil War Era3
HIS 1053United States History: Civil War Era to Present3
HIS 2053Texas History3

Government-Political Science (6 semester credit hours)

Students must complete two of the following courses, for a total of 6 semester credit hours:

POL 1013Introduction to American Politics3
and one of the following two courses:
POL 1133Texas Politics and Society3
POL 1213Civil Rights in Texas and America3

Social and Behavioral Sciences (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

AMS 2043Approaches to American Culture3
ANT 1013Introduction to Anthropology3
ANT 2043Introduction to Archaeology3
ANT 2053Introduction to Cultural Anthropology3
BBL 2003Language, Culture, and Society3
BBL 2243Bilingual Families, Communities, and Schools: National and Transnational Experiences3
BIO 1033Drugs and Society3
CRJ 1113The American Criminal Justice System3
ECO 2003Economic Principles and Issues3
ECO 2023Introductory Microeconomics3
EGR 1343The Impact of Modern Technologies on Society3
GES 1013Fundamentals of Geography3
GES 2623Human Geography3
HTH 2413Introduction to Community and Public Health3
HTH 2513Personal Health3
IDS 2113Society and Social Issues3
PSY 1013Introduction to Psychology3
SOC 1013Introduction to Sociology3
SOC 2013Social Problems3
SOC 2023Social Context of Drug Use3

Component Area Option (CAO) (3 semester credit hours)

Students must complete either one of the following courses or any additional Core Curriculum course not previously used to satisfy a core component area requirement, for a total of 3 semester credit hours:

COM 2113Public Speaking3
EGR 1403Technical Communication3
ENG 2413Technical Writing3
PAD 1113Public Administration and Policy in American Society3
PHI 2043Introductory Logic3
Core Curriculum Component Area Requirements
First Year Experience Requirement 3
Communication 6
Mathematics 3
Life and Physical Sciences 6
Language, Philosophy and Culture 3
Creative Arts 3
American History 6
Government-Political Science 6
Social and Behavioral Sciences 3
Component Area Option 3
Total Credit Hours 42

Gateway Courses

Students pursuing the B.S. degree in Computer Science must successfully complete each of the following Gateway Courses with a grade of “C-” or better in no more than two attempts. A student who is unable to successfully complete these courses within two attempts, including dropping a course with a grade of “W” or taking an equivalent course at another institution, will be required to change his or her major.

CS 1714Computer Programming II4
CS 2124Data Structures4

Degree Requirements

A. Required courses (this also satisfies the 3 hours of core curriculum requirement for Mathematics)
CS 1083Programming I for Computer Scientists3
CS 1714Computer Programming II4
CS 2124Data Structures4
CS 2233Discrete Mathematical Structures3
CS 3333Mathematical Foundations of Computer Science3
CS 3343Analysis of Algorithms3
CS 3424Systems Programming4
CS 3443Application Programming3
CS 3723Programming Languages3
CS 3733Operating Systems3
CS 3743Database Systems3
CS 3844Computer Organization4
CS 3853Computer Architecture3
MAT 1214Calculus I (The student who is not prepared for MAT 1214 must take MAT 1093 Precalculus.)4
MAT 1224Calculus II4
B. Upper-Division computer science courses
With prior written approval of the Undergraduate Advisor of Record, students may take upper-division MAT or STA courses to satisfy up to 6 hours of this requirement. A student with a cumulative grade point average of 3.0 or better may enroll in graduate courses and apply the credits earned toward satisfying this requirement. Enrollment in graduate courses requires prior written approvals as described in chapter 1 (Bachelor’s Degree Regulations) of this catalog.24
C. Free electives
Electives6
Total Credit Hours81

Concentration in Cloud and Systems

Students may declare a Concentration in Cloud and Systems after completing CS 3424 Systems Programming with a grade of "C-" or better. All candidates for the Concentration in Cloud and Systems must fulfill the Core Curriculum requirements and the Computer Science degree requirements including, as part of the upper-division computer science electives in item B in the degree requirements, the following course:

CS 4843Cloud Computing3
plus three additional courses selected from the following (an elective can only be counted towards one concentration):
CS 3873Computer Networks3
CS 4243Large-Scale Data Management3
CS 4633Simulation Techniques3
CS 4663Distributed and Cloud Systems Security3
CS 4713Compiler Construction3
CS 4823Parallel Programming3
CS 4833Embedded Systems3
CS 4853Advanced Systems Programming3
CS 4863Distributed Computing and Systems3
CS 4963Advanced Topics in Systems and Cloud3

Concentration in Cyber Security

Students may declare a Concentration in Cyber Security after completing CS 2124 Data Structures with a grade of "C-" or better. All candidates for the Concentration in Cyber Security must fulfill the Core Curriculum requirements and the Computer Science degree requirements including, as part of the computer science electives in item B in the degree requirements, the following course:

CS 3113Principles of Cyber Security3
plus three additional courses selected from the following (an elective can only be counted towards one concentration):
CS 3433Computer and Information Security3
CS 4353Unix and Network Security3
CS 4363Cryptography3
CS 4453Penetration Testing3
CS 4473Cryptocurrencies and Bitcoins3
CS 4493Advanced Topics in Cyber Security3
CS 4643Cellular and Mobile Technologies3
CS 4653Software and Malware Reverse Engineering3
CS 4663Distributed and Cloud Systems Security3
CS 4673Cyber Operations3
CS 4683Secure Software Development and Analysis3

Concentration in Data Science

Students may declare a Concentration in Data Science after completing CS 3343 Analysis of Algorithms with a grade of "C-" or better. All candidates for the Concentration in Data Science must fulfill the Core Curriculum requirements and the Computer Science degree requirements including, as part of the upper-division computer science electives in item B in the degree requirements, the following course:

CS 3753Data Science3
plus two additional courses selected from the following (an elective can only be counted towards one concentration):
CS 3793Artificial Intelligence3
CS 4223Bioinformatics and Big Data3
CS 4233Computational Biology and Bioinformatics3
CS 4243Large-Scale Data Management3
CS 4253Machine Learning3
CS 4263Deep Learning3
CS 4373Data Mining3
CS 4973Advanced Topics in Data Science3

Concentration in Software Engineering

Students may declare a Concentration in Software Engineering after completing CS 3443 Application Programming with a grade of "C-" or better. All candidates for the Concentration in Software Engineering must fulfill the Core Curriculum requirements and the Computer Science degree requirements including, as part of the upper-division computer science electives in item B in the degree requirements, the following course:

CS 3773Software Engineering3
plus two additional courses selected from the following (an elective can only be counted towards one concentration):
CS 4393User Interfaces3
CS 4413Web Technologies3
CS 4613Senior Design I3
CS 4623Senior Design II3
CS 4683Secure Software Development and Analysis3
CS 4723Software Validation and Quality Assurance3
CS 4743Enterprise Software Engineering3
CS 4773Object-Oriented Systems3
CS 4783Advanced Software Engineering3

Degree Requirements for Cyber Operations Track 

Cyber Operations (CO) Track is a new program option for students in the current BS in Computer Science (BSCS) degree.  Students graduating with this option will have Cyber Operations Track indicated as part of their BSCS degree.  The objective of the Cyber Operations Track is to provide rigorous curriculum in cybersecurity with a focus on offensive cyber operations while balancing theoretical foundations and experiential learning.  

All candidates for the Cyber Operations Track must fulfill the Core Curriculum requirements, the Computer Science degree requirements except CS 3853 Computer Architecture, which is available as an elective for this track, and the following courses:

A. Required courses (this also satisfies the 3 hours of core curriculum requirement for Mathematics)
CS 1083Programming I for Computer Scientists3
CS 1714Computer Programming II4
CS 2124Data Structures4
CS 2233Discrete Mathematical Structures3
CS 3333Mathematical Foundations of Computer Science3
CS 3343Analysis of Algorithms3
CS 3424Systems Programming4
CS 3443Application Programming3
CS 3723Programming Languages3
CS 3733Operating Systems3
CS 3743Database Systems3
CS 3844Computer Organization4
MAT 1214Calculus I (The student who is not prepared for MAT 1214 must take MAT 1093 Precalculus.)4
MAT 1224Calculus II4
B. Required courses for Cyber Operations Track
CS 3113Principles of Cyber Security3
CS 3433Computer and Information Security3
CS 3873Computer Networks3
CS 4353Unix and Network Security3
CS 4363Cryptography3
CS 4643Cellular and Mobile Technologies3
CS 4653Software and Malware Reverse Engineering3
CS 4663Distributed and Cloud Systems Security3
CS 4683Secure Software Development and Analysis3
C. Elective 3
Choose one of the following:
Computer Architecture
Cyber Operations
Advanced Systems Programming
Any other CS upper division electives, or
Digital Forensic Analysis II (from Information Systems and Cybersecurity program in College of Business)
Total Credit Hours78

Course Sequence Guide for B.S. Degree in Computer Science

This course sequence guide is designed to assist students in completing their UTSA undergraduate Computer Science degree requirements. This is merely a guide and students must satisfy other requirements of this catalog and meet with their academic advisor for individualized degree plans. Progress within this guide depends upon such factors as course availability, individual student academic preparation, student time management, work obligations, and individual financial considerations. Students may choose to take courses during Summer terms to reduce course loads during long semesters.

B.S. in Computer Science (no track) – Recommended Four-Year Academic Plan

Plan of Study Grid
First Year
FallCredit Hours
AIS 1203 Academic Inquiry and Scholarship (core) 3
CS 1083 Programming I for Computer Scientists 3
MAT 1214 Calculus I (core and major ) 4
WRC 1013 Freshman Composition I (core) 3
Creative Arts core 3
 Credit Hours16
Spring
CS 1714 Computer Programming II 4
CS 2233 Discrete Mathematical Structures 3
MAT 1224 Calculus II 4
POL 1133
Texas Politics and Society (core)
or Civil Rights in Texas and America
3
 Credit Hours14
Second Year
Fall
CS 2124 Data Structures 4
CS 3333 Mathematical Foundations of Computer Science 3
POL 1013 Introduction to American Politics (core) 3
WRC 1023 Freshman Composition II (core) 3
Life & Physical Sciences core 3
 Credit Hours16
Spring
CS 3424 Systems Programming 4
CS 3443 Application Programming 3
CS 3844 Computer Organization 4
Social & Behavioral Sciences core 3
 Credit Hours14
Third Year
Fall
CS 3343 Analysis of Algorithms 3
CS 3723 Programming Languages 3
CS 3743 Database Systems 3
Life & Physical Sciences core 3
Free Elective 3
 Credit Hours15
Spring
CS 3733 Operating Systems 3
CS 3853 Computer Architecture 3
Upper-division CS elective 3
Upper-division CS elective 3
Free Elective 3
 Credit Hours15
Fourth Year
Fall
Upper-division CS elective 3
Upper-division CS elective 3
Upper-division CS elective 3
Component Area Option core 3
American History core 3
 Credit Hours15
Spring
Upper-division CS elective 3
Upper-division CS elective 3
Upper-division CS elective 3
Language, Philosophy & Culture core 3
American History core 3
 Credit Hours15
 Total Credit Hours120

Note: Some courses are only offered once a year: Fall or Spring. Check with the Department of Computer Science for scheduling of courses.

B.S. in Computer Science with Cyber Operations Track – Recommended Four-Year Academic Plan

Plan of Study Grid
First Year
FallCredit Hours
AIS 1203 Academic Inquiry and Scholarship (core) 3
CS 1083 Programming I for Computer Scientists 3
MAT 1214 Calculus I (core and major ) 4
WRC 1013 Freshman Composition I (core) 3
Life & Physical Sciences core 3
 Credit Hours16
Spring
CS 1714 Computer Programming II 4
MAT 1224 Calculus II 4
WRC 1023 Freshman Composition II (core) 3
Life & Physical Sciences core 3
 Credit Hours14
Second Year
Fall
CS 2124 Data Structures 4
CS 2233 Discrete Mathematical Structures 3
CS 3333 Mathematical Foundations of Computer Science 3
Language, Philosophy & Culture core 3
Social & Behavioral Sciences core 3
 Credit Hours16
Spring
CS 3113 Principles of Cyber Security 3
CS 3424 Systems Programming 4
CS 3443 Application Programming 3
CS 3844 Computer Organization 4
 Credit Hours14
Third Year
Fall
CS 3343 Analysis of Algorithms 3
CS 3433 Computer and Information Security 3
CS 3733 Operating Systems 3
CS 3873 Computer Networks 3
American History core 3
 Credit Hours15
Spring
CS 3723 Programming Languages 3
CS 3743 Database Systems 3
CS 4353 Unix and Network Security 3
CS 4363 Cryptography 3
American History core 3
 Credit Hours15
Fourth Year
Fall
CS 4643 Cellular and Mobile Technologies 3
CS 4653 Software and Malware Reverse Engineering 3
CS 4663 Distributed and Cloud Systems Security 3
Creative Arts core 3
Government-Political Science core 3
 Credit Hours15
Spring
CS 4683 Secure Software Development and Analysis 3
Upper-division Cyber Security elective (must be approved by CS department) 3
Upper-division Cyber Security elective (must be approved by CS department) 3
Component Area Option core 3
Government-Political Science core 3
 Credit Hours15
 Total Credit Hours120

Note: Some courses are only offered once a year: Fall or Spring. Check with the Department of Computer Science for scheduling of courses. 

Bachelor of Arts Degree in Computer Science with Teaching Track

The Bachelor of Arts (B.A.) degree in Computer Science with Teaching Track is designed for students who are interested in teaching computer science at the middle school or high school level as a certified teacher. This program integrates a cohesive set of fundamental computer science courses from the Bachelor of Science degree in Computer Science as well as the UTeachSA program so that students can gain solid foundations in the computer science and education fields to obtain the Computer Science teaching certification.

The B.A. degree in Computer Science requires a minimum of 120 semester credit hours, including the Core Curriculum requirements. Thirty-nine of the total semester credit hours required for the degree must be at the upper-division level.

All majors in computer science are required to complete all required and elective computer science courses with a grade of “C-” or better.

All candidates seeking this degree must fulfill the Core Curriculum requirements and the degree requirements, which are listed below.

Core Curriculum Requirements (42 semester credit hours)

Students seeking the B.A. degree in Computer Science must fulfill University Core Curriculum requirements in the same manner as other students. The course listed below will satisfy both degree requirements and Core Curriculum requirements; however, if this course is taken to satisfy both requirements, then students may need to take an additional course in order to meet the minimum number of semester credit hours required for this degree.

MAT 1214 may be used to satisfy the core requirement in Mathematics as well as a major requirement.

For a complete listing of courses that satisfy the Core Curriculum requirements, see Core Curriculum Component Area Requirements.

Core Curriculum Component Area Requirements

First Year Experience Requirement (3 semester credit hours)

All students must complete one of the following courses, for a total of 3 semester credit hours:

AIS 1203Academic Inquiry and Scholarship3
AIS 1213AIS: Architecture, Construction, and Planning3
AIS 1223AIS: Arts and Humanities3
AIS 1233AIS: Business3
AIS 1243AIS: Engineering, Mathematics, and Sciences3
AIS 1253AIS: Interdisciplinary Education3
AIS 1263AIS: Life and Health Sciences3
AIS 1273AIS: Social Sciences and Public Policy3

Communication (6 semester credit hours)

Students must complete the following courses, for a total of 6 semester credit hours:

WRC 1013Freshman Composition I3
WRC 1023Freshman Composition II3

Mathematics (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

CS 1173Data Analysis and Visualization3
MAT 1023College Algebra with Applications3
MAT 1043Introduction to Mathematics3
MAT 1053Mathematics for Business3
MAT 1073Algebra for Scientists and Engineers3
MAT 1093Precalculus3
MAT 1133Calculus for Business3
MAT 1193Calculus for the Biosciences3
MAT 1214Calculus I4
STA 1053Basic Statistics3

Life and Physical Sciences (6 semester credit hours)

Students must complete two of the following courses for a total of 6 semester credit hours:

ANT 2033Introduction to Biological Anthropology3
AST 1013Introduction to Astronomy3
AST 1033Exploration of the Solar System3
BIO 1233Contemporary Biology I3
BIO 1243Contemporary Biology II3
BIO 1404Biosciences I4
BIO 1414Biosciences II4
CHE 1083Introduction to the Molecular Structure of Matter3
CHE 1093Introduction to Molecular Transformations3
ES 1113Environmental Botany3
ES 1123Environmental Zoology3
ES 1213Environmental Geology3
ES 2013Introduction to Environmental Science I3
ES 2023Introduction to Environmental Science II3
GEO 1013The Third Planet3
GEO 1123Life Through Time3
GES 2613Physical Geography3
PHY 1943Physics for Scientists and Engineers I3
PHY 1963Physics for Scientists and Engineers II3

Language, Philosophy and Culture (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

AAS 2013Introduction to African American Studies3
AAS 2113African American Culture, Leadership and Social Issues3
ANT 2063Language, Thought, and Culture3
ARC 1113Introduction to the Built Environment3
CHN 1014Elementary Chinese I4
CLA 2013Introduction to Ancient Greece3
CLA 2023Introduction to Ancient Rome3
CLA 2323Classical Mythology3
CSH 1103Literary Masterpieces of Western Culture I3
CSH 1113Literary Masterpieces of Western Culture II3
CSH 1213Topics in World Cultures3
CSH 2113The Foreign Film3
ENG 2013Introduction to Literature3
ENG 2023Literature and Film3
ENG 2213Literary Criticism and Analysis3
ENG 2383Multiethnic Literatures of the United States3
ENG 2423Literature of Texas and the Southwest3
ENG 2443Persuasion and Rhetoric3
FRN 1014Elementary French I4
FRN 2333French Literature in English Translation3
GER 1014Elementary German I4
GER 2333German Literature in English Translation3
GES 1023World Regional Geography3
GLA 1013U.S. in the Global Arena3
GRK 1114Introductory Classical Greek I4
HIS 2123Introduction to World Civilization to the Fifteenth Century3
HIS 2133Introduction to World Civilization since the Fifteenth Century3
HIS 2533Introduction to Latin American Civilization3
HIS 2543Introduction to Islamic Civilization3
HIS 2553Introduction to East Asian Civilization3
HIS 2573Introduction to African Civilization3
HIS 2583Introduction to South Asian Civilization3
HUM 2093World Religions3
ITL 1014Elementary Italian I4
ITL 2333Italian Literature in English Translation3
JPN 1014Elementary Japanese I4
LAT 1114Introductory Latin I4
MAS 2013Introduction to Chicano(a) Studies3
PHI 1043Critical Thinking3
PHI 2013Basic Philosophical Problems3
PHI 2023Introduction to Ancient Philosophy3
PHI 2033Introduction to Early Modern Philosophy3
PHI 2123Contemporary Moral Issues3
RUS 1014Elementary Russian I4
RUS 2333Russian Literature in English Translation3
SPN 1014Elementary Spanish I4
SPN 2333Hispanic Literature in English Translation3
WGSS 2013Introduction to Women’s Studies3
WGSS 2023Introduction to LGBTQ Studies3

Creative Arts (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

AHC 1113Survey of Art and Architecture from Prehistoric Times to 13503
AHC 1123Survey of Art and Architecture in Europe and the New World from 1350 to 17503
AHC 1133Survey of Modern Art3
ARC 1513Great Buildings and Cities of the World3
ARC 2413History of Architecture I3
ART 1103Introduction to Visual Arts3
BBL 2023Latino Cultural Expressions3
CLA 2033Introduction to Classical Literature3
DAN 2003Introduction to Dance3
HUM 2023Introduction to the Humanities I3
HUM 2033Introduction to the Humanities II3
HUM 2053History of Film3
MAS 2023Latino Cultural Expressions3
MUS 2243World Music in Society3
MUS 2633American Roots Music3
MUS 2653Music in Culture3
MUS 2663History and Styles of Jazz3
MUS 2673History and Styles of Rock3
MUS 2683History and Styles of Western Art Music3
MUS 2713History of Recorded Music3
MUS 2743Music and Film3
PHI 2073Philosophy of Art3

American History (6 semester credit hours)

Students must complete two of the following courses, for a total of 6 semester credit hours:

HIS 1043United States History: Pre-Columbus to Civil War Era3
HIS 1053United States History: Civil War Era to Present3
HIS 2053Texas History3

Government-Political Science (6 semester credit hours)

Students must complete two of the following courses, for a total of 6 semester credit hours:

POL 1013Introduction to American Politics3
and one of the following two courses:
POL 1133Texas Politics and Society3
POL 1213Civil Rights in Texas and America3

Social and Behavioral Sciences (3 semester credit hours)

Students must complete one of the following courses, for a total of 3 semester credit hours:

AMS 2043Approaches to American Culture3
ANT 1013Introduction to Anthropology3
ANT 2043Introduction to Archaeology3
ANT 2053Introduction to Cultural Anthropology3
BBL 2003Language, Culture, and Society3
BBL 2243Bilingual Families, Communities, and Schools: National and Transnational Experiences3
BIO 1033Drugs and Society3
CRJ 1113The American Criminal Justice System3
ECO 2003Economic Principles and Issues3
ECO 2023Introductory Microeconomics3
EGR 1343The Impact of Modern Technologies on Society3
GES 1013Fundamentals of Geography3
GES 2623Human Geography3
HTH 2413Introduction to Community and Public Health3
HTH 2513Personal Health3
IDS 2113Society and Social Issues3
PSY 1013Introduction to Psychology3
SOC 1013Introduction to Sociology3
SOC 2013Social Problems3
SOC 2023Social Context of Drug Use3

Component Area Option (CAO) (3 semester credit hours)

Students must complete either one of the following courses or any additional Core Curriculum course not previously used to satisfy a core component area requirement, for a total of 3 semester credit hours:

COM 2113Public Speaking3
EGR 1403Technical Communication3
ENG 2413Technical Writing3
PAD 1113Public Administration and Policy in American Society3
PHI 2043Introductory Logic3
Core Curriculum Component Area Requirements
First Year Experience Requirement 3
Communication 6
Mathematics 3
Life and Physical Sciences 6
Language, Philosophy and Culture 3
Creative Arts 3
American History 6
Government-Political Science 6
Social and Behavioral Sciences 3
Component Area Option 3
Total Credit Hours 42

Gateway Courses

Students pursuing the B.A. degree in Computer Science must successfully complete each of the following Gateway Courses with a grade of “C-” or better in no more than two attempts. A student who is unable to successfully complete these courses within two attempts, including dropping a course with a grade of “W” or taking an equivalent course at another institution, will be required to change his or her major.

CS 1714Computer Programming II4
CS 2124Data Structures4

Degree Requirements

A. Required courses (this also satisfies the 3 hours of core curriculum requirement for Mathematics)
CS 1083Programming I for Computer Scientists3
CS 1714Computer Programming II4
CS 2124Data Structures4
CS 2233Discrete Mathematical Structures3
CS 3333Mathematical Foundations of Computer Science3
CS 3343Analysis of Algorithms3
CS 3424Systems Programming4
CS 3443Application Programming3
CS 3743Database Systems3
CS 3844Computer Organization4
MAT 1214Calculus I (The student who is not prepared for MAT 1214 must take MAT 1093 Precalculus.)4
MAT 1224Calculus II4
B. Upper-Division computer science electives12
Any of upper division computer science electives in the B.S. in Computer Science program
C. Education courses (27 hours)
UTE 1111Introduction to STEM Teaching Step 11
UTE 1122Introduction to STEM Teaching Step 22
UTE 3023Perspectives on Science and Mathematics3
UTE 3203Knowing and Learning in Mathematics and Science3
UTE 3213Classroom Interactions3
UTE 4203Project-Based Instruction3
ESL 3083Second Language Teaching and Learning for Grades 7-123
LTED 3773Reading and Writing Across the Disciplines-Grades 7–123
UTE 4646Clinical Teaching6
Total Credit Hours81

Course Sequence Guide for B.A. Degree in Computer Science with Teaching Track

This course sequence guide is designed to assist students in completing their UTSA undergraduate B.A. in Computer Science degree requirements. This is merely a guide and students must satisfy other requirements of this catalog and meet with their academic advisor for individualized degree plans. Progress within this guide depends upon such factors as course availability, individual student academic preparation, student time management, work obligations, and individual financial considerations. Students may choose to take courses during Summer terms to reduce course loads during long semesters.

B.A. in Computer Science with Teaching Track - Recommended Four-Year Academic Plan

Plan of Study Grid
First Year
FallCredit Hours
AIS 1203 Academic Inquiry and Scholarship (core) 3
CS 1083 Programming I for Computer Scientists 3
MAT 1214 Calculus I (core and major) 4
WRC 1013 Freshman Composition I (core) 3
UTE 1111 Introduction to STEM Teaching Step 1 1
 Credit Hours14
Spring
CS 1714 Computer Programming II 4
MAT 1224 Calculus II 4
POL 1133
Texas Politics and Society (core)
or Civil Rights in Texas and America
3
WRC 1023 Freshman Composition II 3
UTE 1122 Introduction to STEM Teaching Step 2 2
 Credit Hours16
Second Year
Fall
CS 2124 Data Structures 4
CS 2233 Discrete Mathematical Structures 3
POL 1013 Introduction to American Politics 3
Life & Physical Sciences core 3
UTE 3203 Knowing and Learning in Mathematics and Science 3
 Credit Hours16
Spring
CS 3333 Mathematical Foundations of Computer Science 3
CS 3443 Application Programming 3
Life & Physical Sciences core 3
Social & Behavioral Sciences core 3
UTE 3023 Perspectives on Science and Mathematics 3
 Credit Hours15
Third Year
Fall
CS 3424 Systems Programming 4
CS 3844 Computer Organization 4
Component Area Option core 3
Creative Arts core 3
ESL 3083 Second Language Teaching and Learning for Grades 7-12 3
 Credit Hours17
Spring
CS 3343 Analysis of Algorithms 3
CS 3743 Database Systems 3
Language, Philosophy & Culture core 3
American History core 3
UTE 3213 Classroom Interactions 3
 Credit Hours15
Fourth Year
Fall
Upper-division CS elective 3
Upper-division CS elective 3
American History core 3
LTED 3773 Reading and Writing Across the Disciplines-Grades 7–12 3
UTE 4203 Project-Based Instruction 3
 Credit Hours15
Spring
Upper-division CS elective 3
Upper-division CS elective 3
UTE 4646 Clinical Teaching 6
 Credit Hours12
 Total Credit Hours120

Minor in Computer Science

All students pursuing the Minor in Computer Science must complete 20 semester credit hours. All required and elective courses must be completed with a grade of "C-" or better.

A. Required courses
CS 1083Programming I for Computer Scientists3
CS 1714Computer Programming II4
CS 2124Data Structures4
B. CS core courses or approved CS electives
Select 9 hours of additional CS core courses or approved CS electives, at least 6 hours of which must be at the upper-division level9
Total Credit Hours20

To declare a Minor in Computer Science, obtain advice, or seek approval of substitutions for course requirements, students should consult with their academic advisor.

Certificate in Pathogenic Outbreak Investigations

This interdisciplinary certificate program is designed for students in biology, information systems and cyber security, computer science and computer engineering disciplines to investigate biological and digital pathogen identification, propagation prediction, and mitigation. The required capstone project reinforces the cross-disciplinary learning fostered by the program and provides real-world practice.

This certificate is open only to biology, information systems and cyber security, computer science, and computer engineering majors. To apply for the Pathogenic Outbreak Investigations certificate, students should consult with the Director of the Office of Undergraduate Research for specific information about certificate requirements and consult with the Certificate Program Advisor to verify that they have met all University requirements. All courses used to satisfy the requirements of this undergraduate certificate program must be college-level courses taken at UTSA. Students must fulfill all prerequisite requirements for elective courses.

Students pursuing the Certificate in Pathogenic Outbreak Investigations must complete a minimum of 15 semester credit hours:

A. Courses required by all majors:
Topic: Introduction to Pathogenic Outbreak Investigations: 3
Special Studies in Biology
Topics in Computer Science
Introduction to Pathogenic Outbreak Investigations
Topic: Advanced Research in Pathogenic Outbreak Investigations:3
Special Studies in Biology
Independent Study
Special Studies in Information Systems
B. Required course according to major:3
Microbiology
Topics in Computer Science (Cloud Computing)
Malware Analysis
C. Elective courses for each major. Select 6 hours from one of the following groups depending on major:6
Biology elective options 1
Biochemistry
Bacteriology
Immunology
Fundamentals of Immunology for Biotechnology
Special Problems (Comparative Genomics)
Special Problems (Microbial Genomics)
Information Systems/Cyber Security elective options
Intrusion Detection and Incident Response
Web Application Security
Digital Forensic Analysis I
Industrial Control Systems
Digital Forensic Analysis II
Computer Science elective options
Principles of Cyber Security
Computer and Information Security
Data Science
Computer Networks
Bioinformatics and Big Data
Unix and Network Security
Cryptography
Data Mining
Topics in Computer Science
Simulation Techniques
Cellular and Mobile Technologies
Software and Malware Reverse Engineering
Distributed and Cloud Systems Security
Cyber Operations
Secure Software Development and Analysis
Compiler Construction
Parallel Programming
Embedded Systems
Cloud Computing
Advanced Systems Programming
Distributed Computing and Systems
Internship in Computer Science
Advanced Topics in Systems and Cloud
Advanced Topics in Data Science
Total Credit Hours15

Computer Science (CS) Courses

CS 1023. Cultural Implications of the Information Society. (3-0) 3 Credit Hours.

This course offers an examination of the modern information society and the influences of technological advances on society and culture. The emphasis is on information and its management from ethical, social, and legal perspectives. Students will make extensive use of the World Wide Web. Generally offered: Fall, Spring. Course Fees: LRS1 $45; STSI $21.

CS 1033. Microcomputer Applications. (3-0) 3 Credit Hours.

Study of the uses of the computer and the organization and visualization of data. Topics will be selected from library searching, networking, e-mail, spreadsheets, databases, authoring packages, multimedia and hypertext applications, presentation graphics, and legal/ethical issues. May not be applied toward a major in computer science. (Formerly CS 2083. Credit cannot be earned for both CS 1033 and CS 2083.) Generally offered: Spring. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 1063. Introduction to Computer Programming I. (3-0) 3 Credit Hours.

Prerequisite: MAT 1073 or the equivalent. An introduction to computer programming using a modern object-oriented computer language. Topics include assignment, decisions, loops, methods and arrays using objects. Generally offered: Fall, Spring, Summer. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 1083. Programming I for Computer Scientists. (3-0) 3 Credit Hours. (TCCN = COSC 1336)

Prerequisite: MAT 1073 or the equivalent. An introduction to computer programming emphasizing structured programming, problem solving, and algorithmic thinking. Topics include assignment, decisions, loops, methods, arrays, and use of objects. Students intending to major or minor in Computer Science should take this course instead of CS 1063. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 1093. Programming for Data Science. (3-0) 3 Credit Hours.

Prerequisite: MAT 1073 or the equivalent. An introduction to computer programming emphasizing structured programming, problem solving, and algorithmic thinking. Topics include assignment, decisions, loops, functions, arrays/lists, and use of objects and math/stat packages. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 1153. Game Programming. (3-0) 3 Credit Hours.

Prerequisite: Computer literacy. Introduction to game design and programming. Common practices used in the video game industry today will also be introduced. Students will learn the basics of creating a PC game through lecture material, hands-on laboratories, and a final project in which the students will build a simple game. Generally offered: Fall. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 1173. Data Analysis and Visualization. (3-0) 3 Credit Hours.

Prerequisite: MAT 1023. Introduction to computation for data analysis and visualization in a programming language such as MATLAB or R. Programming concepts including functions, scripting, loops and logic, handling of vectors and structured data are explored in the context of working with and plotting real data. May be applied toward the Mathematics Core Curriculum requirement. (Formerly titled "Computation for Scientists and Engineers.") Generally offered: Fall, Spring, Summer. Course Fees: DL01 $75; IUCS $45; LRC1 $12; LRS1 $45; STSI $21.

CS 1714. Computer Programming II. (4-0) 4 Credit Hours. (TCCN = COSC 1437)

Prerequisite: CS 1083. Extended programming concepts including multidimensional arrays, pointers, dynamic memory allocation/deallocation and recursion. Problem solving methods, algorithm development and implementation. The course includes 3 hours of lecture and a mandatory 1-hour recitation per week. (Formerly CS 1711/1713. Credit cannot be earned for both CS 1714 and CS 1711/1713.) Course Fees: IUCS $60; LRS1 $60; STSI $28.

CS 1793. Data Computation. (3-0) 3 Credit Hours.

Prerequisite: CS 1093. Extended programming concepts including multidimensional arrays, references, dynamic memory allocation/deallocation, list-like structures and recursion. Problem solving methods, algorithm development and implementation. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 2073. Computer Programming with Engineering Applications. (3-0) 3 Credit Hours. (TCCN = ENGR 2304)

Prerequisites: MAT 1214 and completion of or concurrent enrollment in MAT 1224. Algorithmic approaches to problem solving and computer program design for engineers. Engineering and mathematically-oriented problem sets will be emphasized, including nonnumeric applications. Searching, sorting, linked lists, and data typing will be introduced. May not be applied toward a major in computer science. Generally offered: Fall, Spring. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 2124. Data Structures. (4-0) 4 Credit Hours.

Prerequisites: CS 1714 and completion of or concurrent enrollment in MAT 1214. Abstract data structures (stacks, queues, lists, trees), recursion, sorting, and searching. Implementation of data structures using explicit memory management, and introduction to abstract data type design and encapsulation. The course includes 3 hours of lecture and a mandatory 1-hour recitation per week. (Formerly CS 1723 and CS 2121/2123. Credit cannot be earned for both CS 2124 and CS 1723 or CS 2121/2123.) Course Fees: IUCS $60; LRS1 $60; STSI $28.

CS 2173. Programming Fundamentals and Data Structures. (3-0) 3 Credit Hours.

Prerequisite: Consent of instructor. This course is a bridge course for non-Computer Science students. It cannot be applied to the undergraduate degrees in computer science. Topics include programming fundamentals and basic data structures such as arrays, stack, linked-lists, trees, graphs. Only one of the following may be applied towards a degree: CS 2173, CS 2193, or CS 2124 (previously CS 2121/2123). Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 2193. Data Organization. (3-0) 3 Credit Hours.

Prerequisites: CS 1793 and MAT 1214. Abstract data structures (stacks, queues, lists, trees), recursion, sorting, and searching. Implementation of data structures using explicit memory management, and introduction to abstract data type design and encapsulation. Only one of the following may be applied towards a degree: CS 2173, CS 2193, or CS 2124 (previously CS 2121/2123). Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 2233. Discrete Mathematical Structures. (3-0) 3 Credit Hours. (TCCN = MATH 2305)

Prerequisites: CS 1083 and MAT 1093. Survey and development of theoretical tools suitable for describing algorithmic applications. Propositional and predicate calculus, proofs, induction, order notation, recurrences and discrete structures. (Formerly 3233. Credit cannot be earned for both CS 2233 and CS 3233.) Generally offered: Fall, Spring, Summer. Course Fees: IUCS $45; LRS1 $45; STSI $21.

CS 3113. Principles of Cyber Security. (3-0) 3 Credit Hours.

Prerequisite: CS 2124. An introductory course in Cyber Security including an examination of the fundamental principles underlying cyber security, how these principles interrelate and how they are typically employed to secure computer systems and networks. The course will also examine how failures in fundamental security design principles can lead to system vulnerabilities that can be exploited and will also examine the legal issues governing cyber law and cyber operations. (Formerly CS 2433. Credit cannot be earned for both CS 3113 and CS 2433.) Differential Tuition: $150. Course Fees: DL01 $75; IUCS $45.

CS 3333. Mathematical Foundations of Computer Science. (3-0) 3 Credit Hours.

Prerequisites: CS 1714 and MAT 1224. Survey and development of mathematical and statistical tools suitable for describing algorithmic applications. Vectors, matrices, combinatorics, probability and statistical models. Generally offered: Fall, Spring, Summer. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3343. Analysis of Algorithms. (3-0) 3 Credit Hours.

Prerequisites: CS 2124, CS 2233, and CS 3333. Analysis of the performance of algorithms; discussion of programming techniques and data structures used in the writing of effective algorithms. Generally offered: Fall, Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3424. Systems Programming. (4-0) 4 Credit Hours.

Prerequisite: CS 2124. A study of systems-level programming in a specific system (at present, Unix). Focus on concepts and tools to support the construction of systems programs. The course includes 3 hours of lecture and a mandatory 1-hour recitation per week. (Formerly CS 2413 and CS 3421/3423. Credit cannot be earned for both CS 3424 and CS 2413 or CS 3421/3423.) Differential Tuition: $200. Course Fee: IUCS $60.

CS 3433. Computer and Information Security. (3-0) 3 Credit Hours.

Prerequisites: CS 3424 and consent of instructor. An introduction to the protection of computer systems and networks. Topics will include authentication, access controls, malicious software, formal security methods, firewalls, intrusion detection, cryptography and information hiding, risk management, computer forensics, and ethics. Generally offered: Fall. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3443. Application Programming. (3-0) 3 Credit Hours.

Prerequisite: CS 2124. Advanced application development in a current object-oriented language. Introduction to the software life cycle, best programming practices, and modern development tools. Generally offered: Fall, Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3523. Windows Systems Programming. (3-0) 3 Credit Hours.

Prerequisite: CS 2124. A study of systems-level programming in the Windows Operating System. Focus on concepts and tools to support the construction of Windows systems programs. Learn and use tools like Powershell, Python and command prompt. Understand in detail how the registry works, how to audit and log system changes, how to create new users, how to manipulate access control lists, etc. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3723. Programming Languages. (3-0) 3 Credit Hours.

Prerequisites: CS 2233 and CS 3443. An introduction to high-level procedural, functional, and object-oriented programming languages, their theoretical foundations, organization, and implementation. Topics include formal syntax, compilers and interpreters, type systems, scoping and activation records, control structures, and data abstraction. Generally offered: Fall, Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3733. Operating Systems. (3-0) 3 Credit Hours.

Prerequisites: CS 3424, CS 3443, and CS 3844. An introduction to the functions and major techniques of a modern multiprogramming operating system. Includes exposure to the fundamentals of processor management, process synchronization, memory management, and peripheral management. Generally offered: Fall, Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3743. Database Systems. (3-0) 3 Credit Hours.

Prerequisites: CS 2233 and CS 3424. Study of fundamentals of database systems. Topics include basic concepts, various data models, database design, storage systems, indexing and hashing, database application design and implementation, and commercially available database systems. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3753. Data Science. (3-0) 3 Credit Hours.

Prerequisites: CS 2124, CS 2233, and CS 3333. Study of fundamental methods and models of data science. Topics include data management, Extract-Transform-Loading methods, machine learning models, and data visualization. Use of a specialized programming language is emphasized. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3773. Software Engineering. (3-0) 3 Credit Hours.

Prerequisite: CS 3443. Introduction to different aspects of software engineering with the concentration on processes, methods, and tools for developing reliable software-centered systems. Study of software development process models, project management, a variety of modeling notations, requirement analysis, architecture design methods, and testing techniques. Generally offered: Fall, Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3793. Artificial Intelligence. (3-0) 3 Credit Hours.

Prerequisites: CS 3343 and CS 3424. Discussion of theorem-proving by machine; includes computational linguistics, psychological modeling, and computer games. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3844. Computer Organization. (4-0) 4 Credit Hours.

Prerequisite: CS 2124. Organization of a computer system is introduced at block diagram level. Programming in assembly language and understanding the macroarchitecture of a computer is emphasized. Fundamentals of digital systems are introduced and the designs of various components used are investigated. The course includes 3 hours of lecture and a mandatory 1-hour recitation per week. (Formerly CS 2733 and CS 3841/3843. Credit cannot be earned for both CS 3844 and CS 2733 or CS 3841/3843.) Differential Tuition: $200. Course Fees: IUCS $60.

CS 3853. Computer Architecture. (3-0) 3 Credit Hours.

Prerequisites: CS 3424 and CS 3844. Instruction set architecture, datapath and control unit design, advanced computer arithmetic, pipelining, memory hierarchy and I/O subsystem, performance issues. (Formerly CS 4753. Credit cannot be earned for both CS 3853 and CS 4753.) Generally offered: Fall, Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 3873. Computer Networks. (3-0) 3 Credit Hours.

Prerequisites: CS 3424 and CS 3443. Network architecture, TCP/IP protocol suite, routing, data-link layer protocols, medium access control protocols, error detection and recovery, local area networks, wireless and mobile networks. (Formerly CS 4873. Credit cannot be earned for both CS 3873 and CS 4873.) Generally offered: Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4223. Bioinformatics and Big Data. (3-0) 3 Credit Hours.

Prerequisite: CS 3343 or consent of instructor. Hands-on introduction to large-scale analysis of heterogeneous data with emphasis on integrating information and tools from publicly available biological databases to address complex problems. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4233. Computational Biology and Bioinformatics. (3-0) 3 Credit Hours.

Prerequisite: CS 3343. Study of algorithmic and statistical techniques in modeling and analyzing large-scale biological data such as DNA sequences, gene expression, and gene networks. Topics include fast string matching, sequence alignment, frequent pattern mining, clustering, classification, and significance testing. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4243. Large-Scale Data Management. (3-0) 3 Credit Hours.

Prerequisites: CS 3424 and CS 3443. Modern big data systems managing the three Vs of big data (variety, volume, and velocity). Topics include, but not limited to classic data management (overview), web search, information retrieval, map/reduce, data integration, natural language processing at scale. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4253. Machine Learning. (3-0) 3 Credit Hours.

Prerequisite: CS 3343. Study of fundamental concepts and methods of machine learning. Topics include unsupervised learning, supervised learning, reinforcement learning and other advanced topics selected by instructor. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4263. Deep Learning. (3-0) 3 Credit Hours.

Prerequisite: One of the following: CS 3753, CS 3793, CS 4233, CS 4253. Study of advanced techniques for learning models. Algorithmic and hands-on introduction to deep neural networks and adversarial learning. Topics include convolutional models, generative networks, neural network vulnerabilities, and attention models, with applications in natural language understanding and computer vision. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4313. Automata, Computability, and Formal Languages. (3-0) 3 Credit Hours.

Prerequisite: CS 3343. Discussion of abstract machines (finite state automata, pushdown automata, and Turing machines), formal grammars (regular, context-free, and type 0), and the relationship among them. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4353. Unix and Network Security. (3-0) 3 Credit Hours.

Prerequisite: CS 3433. A technical survey of the fundamentals of computer and information security. Issues include cryptography, authentication, attack techniques at both the OS and network level, defense techniques, intrusion detection, scan techniques and detection, forensics, denial of service techniques and defenses, libpcap, libdnet and libnet programming. Generally offered: Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4363. Cryptography. (3-0) 3 Credit Hours.

Prerequisites: CS 3343, and CS 3113 or CS 3433. A course in pure and applied cryptography, with emphasis on theory. Topics may include conventional and public-key cryptosystems, signatures, pseudo-random sequences, hash functions, key management, and threshold schemes. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4373. Data Mining. (3-0) 3 Credit Hours.

Prerequisite: CS 3343 or consent of instructor. Principles, techniques, systems and evaluation of data mining. Topics may include data preprocessing, frequent pattern mining, association mining, classification and prediction, cluster analysis, and advanced topics such as mining streams, time-Series, texts, and graphs. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4383. Computer Graphics. (3-0) 3 Credit Hours.

Prerequisites: CS 2124 and CS 3343. An introduction to two- and three-dimensional generative computer graphics. Display devices, data structures, mathematical transformations, and algorithms used in picture generation, manipulation, and display. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4393. User Interfaces. (3-0) 3 Credit Hours.

Prerequisite: CS 3443. Study of advanced user interface issues. User interface design, human factors, usability, GUI programming models, and the psychological aspects of human-computer interaction. Generally offered: Fall. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4413. Web Technologies. (3-0) 3 Credit Hours.

Prerequisite: CS 3424. Fundamentals of Web and component technology: markup languages, layout design, client and server side programming, database and Web integration. Generally offered: Fall. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4423. Game Development. (3-0) 3 Credit Hours.

Prerequisite: CS 3443. A study of the major topics in game development, such as game mechanics, rendering, scripting, user interfaces, animation, asset management, and physics, with a focus on team-based development practices. By the end of the course, students will have developed a full game with a group and several mini-games individually. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4453. Penetration Testing. (3-0) 3 Credit Hours.

Prerequisite: CS 3873. Introduction to the principles and techniques associated with the cyber security practice known as penetration testing or ethical hacking. The course covers planning, reconnaissance, scanning, exploitation, post-exploitation, and result reporting. Students learn how to use penetration testing tools, how to discover system vulnerabilities and how to avoid exploitation of vulnerabilities. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4463. Steganography. (3-0) 3 Credit Hours.

Prerequisite: CS 3424. Steganography literally means "covered writing" and is the science of hiding secret data within innocuous data. This course covers a broad set of background topics including data compression, encryption, hashing, number theory, and human perception. Then we delve into the aspects and techniques for data hiding using image and audio files for data hiding. This includes bitmaps, jpegs, and wave files. We also explore steganalysis—the detection of hidden data—in the various file types. We also discuss the use of steganography in practice, particularly use by malware. There is a course project where a team of students develop and test their own steganography program. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4473. Cryptocurrencies and Bitcoins. (3-0) 3 Credit Hours.

Prerequisite: CS 3113. This course introduces the concept of public permission-less blockchains and discusses the various applications that it enables. It specifically focuses on the cryptocurrency application of such distributed systems, with an emphasis on Bitcoins. This course will cover the following topics: blockchain fundamentals, operation of the Bitcoin cryptocurrency, Bitcoin security, user privacy and anonymity in Bitcoin, Bitcoin as a distributed application platform, Bitcoin and cryptocurrency regulation, future of Bitcoins and cryptocurrencies, Ethereum and Smart Contracts. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4483. Cyber Security Foundations and Practice. (3-0) 3 Credit Hours.

Prerequisite: CS 3113. Advanced study of fundamental cyber security and privacy technologies and their applications in modern and emerging cyber systems such as social media, cloud computing, internet of things, cyber-physical systems and cryptocurrencies. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4493. Advanced Topics in Cyber Security. (3-0) 3 Credit Hours.

Prerequisite: Consent of instructor. Advanced topics in an area of systems and cloud. May be repeated for credit when topics vary. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4593. Topics in Computer Science. (3-0) 3 Credit Hours.

Prerequisite: Consent of instructor. Advanced topics in an area of computer science. May be repeated for credit when topics vary. Generally offered: Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4613. Senior Design I. (3-0) 3 Credit Hours.

Prerequisites: CS 3443 and CS 3773. Students will self-organize into teams, prepare/propose project scope, gather requirements, produce specifications, analyze security and other risk factors, and present their designs. Industrial collaboration and/or faculty sponsorship of these projects is encouraged. Not more than a total of 6 semester credit hours of Internship, Independent Study, Senior Design, and Senior Thesis courses may count toward the Bachelor of Science degree in Computer Science. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4623. Senior Design II. (3-0) 3 Credit Hours.

Prerequisite: CS 4613. Students continue the development of an instructor-approved design project, testing of the design project, and present their findings, along with social and ethical impact considerations. Students who own their intellectual property are required to compete in CITE. Industrial collaboration and/or faculty sponsorship of these projects is encouraged. Not more than a total of 6 semester credit hours of Internship, Independent Study, Senior Design, and Senior Thesis courses may count toward the Bachelor of Science degree in Computer Science. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4633. Simulation Techniques. (3-0) 3 Credit Hours.

Prerequisite: CS 3343. Design, execution, and analysis of simulation models, discrete event simulation techniques, input and output analysis, random numbers, and simulation tools and languages. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4643. Cellular and Mobile Technologies. (3-0) 3 Credit Hours.

Prerequisite: CS 3733. A study of cellular and mobile infrastructure, networks, and applications. Focus on concepts and tools related to the major cellular and mobile protocols. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4653. Software and Malware Reverse Engineering. (3-0) 3 Credit Hours.

Prerequisites: CS 3844, and CS 3113 or CS 3433. An introduction to the basic procedures to reverse engineering of software, hardware and malware. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4663. Distributed and Cloud Systems Security. (3-0) 3 Credit Hours.

Prerequisite: CS 3733. A study of the uses and security issues of virtualization, distributed systems and cloud systems. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4673. Cyber Operations. (3-0) 3 Credit Hours.

Prerequisite: CS 3113 or CS 3433. A study of both offensive and defensive cyber operations, risk management, social engineering, perception management, and the international legal issues and considerations surrounding cyber operations, conflict, and war. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4683. Secure Software Development and Analysis. (3-0) 3 Credit Hours.

Prerequisite: CS 3443. Analysis of software for vulnerabilities. Development of robust, secure software. Topics include source and binary code analysis, static and dynamic code analysis techniques, testing methodologies, secure programming principles and practices. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4713. Compiler Construction. (3-0) 3 Credit Hours.

Prerequisites: CS 3723 and CS 3844. An introduction to implementation of translators. Topics include formal grammars, scanners, parsing techniques, syntax-directed translation, symbol table management, code generation, and code optimization. (Formerly titled "Compiler Writing.") Differential Tuition: $150. Course Fee: IUCS $45.

CS 4723. Software Validation and Quality Assurance. (3-0) 3 Credit Hours.

Prerequisite: CS 3773. Study of software validation techniques. Introduction to static analysis and software testing approaches (functional testing, structural testing, integration testing and regression testing). Overview of test planning and test case design. Review of topics in quality assurance. Generally offered: Spring. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4743. Enterprise Software Engineering. (3-0) 3 Credit Hours.

Prerequisites: CS 3743 and CS 3773. Providing a hands-on introduction to principles and best practices for the development of enterprise-level software systems. Topics include architectural patterns, database models, remote deployment and execution, and concurrency management. (Formerly titled "Applied Software Engineering.") Differential Tuition: $150. Course Fee: IUCS $45.

CS 4773. Object-Oriented Systems. (3-0) 3 Credit Hours.

Prerequisite: CS 3773. An introduction of principles and methodologies of good software design. Study of object-oriented concepts and techniques, encapsulation, inheritance mechanisms, polymorphism, and programming in one or more object-oriented languages. Examination of design patterns that provide reusable solutions to problems in object-oriented design. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4783. Advanced Software Engineering. (3-0) 3 Credit Hours.

Prerequisites: CS 3743 and CS 3773. Application of software engineering principles to develop a working, security-hardened software product as a team project. Real-world case studies and perspectives will accompany lecture to provide students with an industry-level viewpoint. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4823. Parallel Programming. (3-0) 3 Credit Hours.

Prerequisites: CS 3343 and CS 3424. Parallel programming concepts (partitioning, synchronization and communication, programming models-shared memory based and message based), programming tools and languages, performance issues. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4833. Embedded Systems. (3-0) 3 Credit Hours.

Prerequisite: CS 3844. Concepts and design principles of embedded systems. Microprocessor and hardware architecture, sensors and actuators, basic feedback control theory. Real-time scheduling, programming in embedded systems. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4843. Cloud Computing. (3-0) 3 Credit Hours.

Prerequisite: CS 3424. The general trend of modern computing in cloud. Cloud computing paradigm and associate key technologies. Programming in cloud environment (e.g., Hadoop, MapReduce, and OpenStack APIs). Privacy and security in Cloud. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4853. Advanced Systems Programming. (3-0) 3 Credit Hours.

Prerequisite: CS 3733. Concepts and knowledge on system booting, memory management, process and scheduling, interrupt handling, system calls, file systems, networking, device drivers and module programming. Runtime systems. Programming kernel modules in Linux. (Formerly titled "Systems Development and Programming.") Differential Tuition: $150. Course Fee: IUCS $45.

CS 4863. Distributed Computing and Systems. (3-0) 3 Credit Hours.

Prerequisite: CS 3733. A distributed system comprises computers working together as a single unit. These systems are essential to the understanding of present and future computer applications. This course will include the following topics: concurrent processing, threads, network programming, distributed file systems, remote procedure calls, distributed objects, client-server models, and Internet protocols. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4883. Senior Thesis I. (3-0) 3 Credit Hours.

Prerequisite: Consent of Instructor. The student learns how to conduct independent research. He/she selects a thesis topic, conducts a literature review, plans and executes an experiment, and gathers and analyzes data. Faculty sponsorship of the thesis is required and a faculty member should agree to sponsor the student before Senior Thesis I begins. Not more than a total of 6 semester credit hours of Internship, Independent Study, Senior Design; and Senior Thesis courses may count toward the Bachelor of Science degree in Computer Science. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4893. Senior Thesis II. (3-0) 3 Credit Hours.

Prerequisite: Consent of Instructor. The student writes the thesis through a series of assignments. The student also prepares a presentation of his/her research and presents the thesis to the public during a Computer Science undergraduate research symposium. Faculty sponsorship of the thesis is required and should be the same faculty member from Thesis I (special exceptions are possible). Not more than a total of 6 semester credit hours of Internship, Independent Study, Senior Design, and Senior Thesis courses may count toward the Bachelor of Science degree in Computer Science. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4911. Independent Study. (0-0) 1 Credit Hour.

Prerequisites: Permission in writing (form available) from the instructor, the student’s advisor, the Department Chair, and the Dean of the College in which the course is offered. Independent reading, research, discussion, and/or writing under the direction of a faculty member. May be repeated for credit, but not more than 6 semester credit hours, regardless of discipline, will apply to a bachelor’s degree. Differential Tuition: $50. Course Fee: IUCS $15.

CS 4912. Independent Study. (0-0) 2 Credit Hours.

Prerequisites: Permission in writing (form available) from the instructor, the student’s advisor, the Department Chair, and the Dean of the College in which the course is offered. Independent reading, research, discussion, and/or writing under the direction of a faculty member. May be repeated for credit, but not more than 6 semester credit hours, regardless of discipline, will apply to a bachelor’s degree. Differential Tuition: $100. Course Fee: IUCS $30.

CS 4913. Independent Study. (0-0) 3 Credit Hours.

Prerequisites: Permission in writing (form available) from the instructor, the student’s advisor, the Department Chair, and the Dean of the College in which the course is offered. Independent reading, research, discussion, and/or writing under the direction of a faculty member. May be repeated for credit, but not more than 6 semester credit hours, regardless of discipline, will apply to a bachelor’s degree. Generally offered: Fall, Spring, Summer. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4933. Internship in Computer Science. (0-0) 3 Credit Hours.

Prerequisites: Junior or senior standing, an overall 2.5 grade point average, and permission in writing from the instructor, the Department Chair, and the Dean of the College of Sciences. The opportunity for a semester-long work experience in a private business or public agency in a computer science-related position. Not more than 3 semester credit hours of CS 4933, and not more than a total of 6 semester credit hours of CS 4933 and independent study courses may count toward the Bachelor of Science degree in Computer Science. The grade report for this course is either "CR" (satisfactory participation in the internship) or "NC" (unsatisfactory participation in the internship). Generally offered: Fall, Summer. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4953. Special Studies in Computer Science. (3-0) 3 Credit Hours.

Prerequisite: Consent of instructor. An organized course offering the opportunity for specialized study not normally or not often available as part of the regular course offerings. Special Studies may be repeated for credit when topics vary, but not more than 6 semester credit hours, regardless of discipline, will apply to a bachelor’s degree. Generally offered: Summer. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4963. Advanced Topics in Systems and Cloud. (3-0) 3 Credit Hours.

Prerequisite: Consent of instructor. Advanced topics in an area of systems and cloud. May be repeated for credit when topics vary. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4973. Advanced Topics in Data Science. (3-0) 3 Credit Hours.

Prerequisite: Consent of instructor. Advanced topics in an area of data science. May be repeated for credit when topics vary. Differential Tuition: $150. Course Fee: IUCS $45.

CS 4993. Honors Research. (0-0) 3 Credit Hours.

Prerequisites: Enrollment limited to candidates for College Honors during their last two semesters; approval by the College Honors Committee. Supervised research and preparation of an honors thesis. May be repeated once with approval. Differential Tuition: $150. Course Fee: IUCS $45.