Class No. 
Course ID 
Title 
Credits 
Type 
Instructor(s) 
Days:Times 
Location 
Permission Required 
Dist 
Qtr 
4032 
CPSC11501 
Introduction to Computing 
1.25 
LEC 
Spezialetti,Madalene 
TR: 9:25AM10:40AM 
MECC  270 

NUM 


Enrollment limited to 48 

Prerequisite: C or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class. 

NOTE: 24 seats are reserved for firstyear students 

A fundamental treatment of computer science topics featuring the study of the highlevel programming language Python. Topics discussed will include computer architecture, programming languages, and ethical issues involved in computer use. Problemsolving techniques involved in writing programs will be studied, proper style and documentation will be required, and objectoriented program design will be introduced. A required weekly lab will involve an intensive study of programming techniques in Python. 
4036 
CPSC11520 
Introduction to Computing 
1.25 
LAB 
Spezialetti,Madalene 
T: 1:30PM4:10PM 
MECC  136 

NUM 


Enrollment limited to 24 

Prerequisite: C or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class. 

A fundamental treatment of computer science topics featuring the study of the highlevel programming language Python. Topics discussed will include computer architecture, programming languages, and ethical issues involved in computer use. Problemsolving techniques involved in writing programs will be studied, proper style and documentation will be required, and objectoriented program design will be introduced. A required weekly lab will involve an intensive study of programming techniques in Python. 
4037 
CPSC11521 
Introduction to Computing 
1.25 
LAB 
Miyazaki,Takunari 
W: 1:15PM3:55PM 
MECC  136 

NUM 


Enrollment limited to 24 

Prerequisite: C or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class. 

A fundamental treatment of computer science topics featuring the study of the highlevel programming language Python. Topics discussed will include computer architecture, programming languages, and ethical issues involved in computer use. Problemsolving techniques involved in writing programs will be studied, proper style and documentation will be required, and objectoriented program design will be introduced. A required weekly lab will involve an intensive study of programming techniques in Python. 
4038 
CPSC20301 
Math Foundatns of Comput 
1.00 
LEC 
Miyazaki,Takunari 
MWF: 10:00AM10:50AM 
MC  307 

NUM 


Enrollment limited to 25 

Prerequisite: C or better in Computer Science 110, or mathematics skills appropriate for enrolling in a calculus class. 

An introduction to the principles of logic and discrete mathematics required in the study of computer science. Topics covered may include: propositional and predicate logic and their relationship to general proof techniques used in computing and correctness proofs of programs; mathematical induction applied to recursion and recurrence relations; set theory with an emphasis on infinite sets used in computing; counting principles useful in analyzing graphs and trees; relations and functions and their relationship to databases and functional programming languages. Computer programs will be used to explore concepts examined in the course. 
4033 
CPSC21501 
Data Structures & Algorithms 
1.25 
LEC 
Yoon,Peter A. 
WF: 1:15PM2:30PM 
LSC  AUD 

NUM 


Enrollment limited to 42 

Prerequisite: C or better in Computer Science 115L. 

A study of data structures and algorithms using a highlevel programming language. The basic data structures (lists, stacks, queues, trees, and files) and basic algorithms (searching, sorting, and file management) will be introduced and implemented. Data and procedural abstraction, software design principles, and the analysis of the complexity of algorithms will be discussed. Details related to programming will be covered in a required weekly lab. 
4035 
CPSC21520 
Data Structures & Algorithms 
1.25 
LAB 
Yoon,Peter A. 
M: 1:15PM3:55PM 
MECC  136 

NUM 


Enrollment limited to 24 

Prerequisite: C or better in Computer Science 115L. 

A study of data structures and algorithms using a highlevel programming language. The basic data structures (lists, stacks, queues, trees, and files) and basic algorithms (searching, sorting, and file management) will be introduced and implemented. Data and procedural abstraction, software design principles, and the analysis of the complexity of algorithms will be discussed. Details related to programming will be covered in a required weekly lab. 
5366 
CPSC21521 
Data Structures & Algorithms 
1.25 
LAB 
Yoon,Peter A. 
M: 6:30PM9:00PM 
MECC  136 

NUM 


Enrollment limited to 18 

Prerequisite: C or better in Computer Science 115L. 

A study of data structures and algorithms using a highlevel programming language. The basic data structures (lists, stacks, queues, trees, and files) and basic algorithms (searching, sorting, and file management) will be introduced and implemented. Data and procedural abstraction, software design principles, and the analysis of the complexity of algorithms will be discussed. Details related to programming will be covered in a required weekly lab. 
4926 
CPSC21901 
Theory of Computation 
1.00 
LEC 
Miyazaki,Takunari 
MW: 8:30AM9:45AM 
MC  307 

NUM 


Enrollment limited to 25 

Prerequisite: C or better in Computer Science 115L and Computer Science 203 

A selection of topics intended to serve as an introduction to formal languages and automata theory. The topics will be chosen from among finite state machines, pushdown automata, Turing machines, the Chomsky language hierarchy and related questions of computability. 
5209 
CPSC31601 
Found Programming Lang 
1.00 
LEC 
Yoon,Peter A. 
MWF: 11:00AM11:50AM 
MECC  136 

NUM 


Enrollment limited to 24 

Prerequisite: C or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203). 

A study of the organization, specification, and behavior of programming languages. The course will focus on five different programming language paradigms: imperative, objectoriented, functional, logic, and concurrent. Programming assignments using example languages from each of these paradigms will be required. Emphasis will be placed on learning C++, PROLOG, and LISP in a Unix environment. Other topics covered include language syntax, control structures, objects, and functions. 
5045 
CPSC37501 
HighPerformance Computing 
1.00 
LEC 
Bradley,Peter C. 
R: 6:30PM9:00PM 
MECC  136 

NUM 


Enrollment limited to 25 

Prerequisite: C or better in Computer Science 215L, Computer Science 275L, and Mathematics 131. 

This course will introduce various programming models and techniques for multiprocessors. Students will design, implement, and evaluate parallel algorithms for solving complex problems that demand high computational speed. Topics covered include parallel machine architecture, analysis of parallel algorithms, load balancing, and various parallel algorithms including sorting, searching, linear systems, and image processing. 
4250 
CPSC39901 
Independent Study 
0.50  1.00 
IND 
TBA 
TBA 
TBA 
Y 



Enrollment limited to 15 

Independent work to develop maturity and initiative in the solution of a problem in the area of the student's special interests. This course may require concurrent registration in Computer Science 403 or 404. Submission of the special registration form, available in the Registrar's Office, and the approval of the instructor and chairperson are required for enrollment. 
4034 
CPSC40401 
Computer Science Seminar 
0.50 
SEM 
Spezialetti,Madalene 
R: 1:30PM2:45PM 
MECC  152 

WEB 


Enrollment limited to 25 

Students engaged in research (Computer Science 419) or independent study (Computer Science 399) and senior exercise students will meet with computer science faculty for oral presentations and critical discussions of journal papers, research plans, and research progress. Seniors using this course to satisfy the senior exercise requirement will be expected to complete a research or design project and make a formal presentation on its results to the seminar. The project may be an extension or revision of a project conducted in one of their other major courses. 
4251 
CPSC46601 
Teaching Assistant 
0.50  1.00 
IND 
TBA 
TBA 
TBA 
Y 



Enrollment limited to 15 

Submission of the special registration form, available in the Registrar's Office, and the approval of the instructor and chairperson are required for enrollment. 
4252 
CPSC49901 
Senior Project Part 2 
1.00 
IND 
TBA 
TBA 
TBA 
Y 



Enrollment limited to 15 

This course is comprised of a research or implementation project and a final written report. This course is required for all senior computer science majors. Students must locate a project adviser and must submit a preliminary proposal to the project adviser by the last day of classes in the spring semester of the junior year. In addition to the proposal, submission of the special registration form, available in the Registrar's Office, and the approval of the instructor and chairperson are required for each semester of this yearlong project. The course credits are considered pending in the first semester and will be awarded upon completion of the second semester. 