Class No. 
Course ID 
Title 
Credits 
Type 
Instructor(s) 
Days:Times 
Location 
Permission Required 
Dist 
Qtr 
5130 
CPSC11001 
Computing with Mobile Phones 
1.00 
LEC 
Lake,Pauline H. 
MWF: 10:00AM10:50AM 
TBA 

NUM 


Enrollment limited to 24 

NOTE: This course is not open to students who have completed CPSC 215L. 

NOTE: 14 seats are reserved for firstyear students. 

App Inventor for Android is a new open source programming language for Android smart phones. App Inventor is a visual language that enables novice programmers to create powerful mobile applications that interact with the web and with other phones. In this course, students will learn how to access the world of mobile services and applications as creators, not just consumers. They will learn to create entertaining and socially useful apps that can be shared with friends and family. In addition to learning to program and how to become better problem solvers, students will also explore the exciting world of computer science from the perspective of mobile computing and its increasingly important effect on society. 
4079 
CPSC11501 
Introduction to Computing 
1.25 
LEC 
Spezialetti,Madalene 
TR: 10:50AM12:05PM 
TBA 

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. 
4083 
CPSC11520 
Introduction to Computing 
1.25 
LAB 
Spezialetti,Madalene 
T: 1:30PM4:10PM 
TBA 

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. 
4084 
CPSC11521 
Introduction to Computing 
1.25 
LAB 
Spezialetti,Madalene 
W: 1:15PM3:55PM 
TBA 

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. 
4085 
CPSC20301 
Math Foundatns of Comput 
1.00 
LEC 
Miyazaki,Takunari 
MWF: 10:00AM10:50AM 
TBA 

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. 
4080 
CPSC21501 
Data Structures & Algorithms 
1.25 
LEC 
Syta,Ewa 
MWF: 11:00AM11:50AM 
TBA 

NUM 


Enrollment limited to 36 

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. 
4082 
CPSC21520 
Data Structures & Algorithms 
1.25 
LAB 
Syta,Ewa 
W: 1:15PM3:55PM 
TBA 

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. 
5080 
CPSC21521 
Data Structures & Algorithms 
1.25 
LAB 
Syta,Ewa 
R: 1:30PM4:10PM 
TBA 

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. 
4910 
CPSC30401 
Computer Graphics 
1.00 
LEC 
Yoon,Peter A. 
TR: 10:50AM12:05PM 
TBA 

NUM 


Enrollment limited to 25 

Prerequisite: C or better in Mathematics 132 and Computer Science 215L. 

An introduction to geometric and computer graphics principles needed for developing software with graphical output. General principles of designing and testing of software systems with reusable components will be emphasized. Geometry and computer graphics topics covered will include coordinate systems, geometric transformations, windowing, curves, fractals, polyhedra, hidden lines, surfaces, color, and shading. Graphical programs that model phenomena from the natural sciences or aid the visualizing of conceptual models in computer science and mathematics will be used for examples and assignments. 
4911 
CPSC31501 
Systems Software 
1.00 
LEC 
Yoon,Peter A. 
TR: 9:25AM10:40AM 
TBA 

NUM 


Enrollment limited to 25 

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

A study of the organization and implementation of computer operating systems. Topics include operating systems organization, file systems, memory and process management, resource allocation, recovery procedures, multiprogramming, and distributed processing. The Unix operating system will be used and emphasis will be placed on how various system functions have been implemented in the Unix environment. 
4912 
CPSC32001 
Analysis of Algorithms 
1.00 
LEC 
Miyazaki,Takunari 
MW: 8:30AM9:45AM 
TBA 

NUM 


Enrollment limited to 25 

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

A continuation of the study begun in Computer Science 215 of the complexity of algorithms used in computing. The notions of P, NP, and NPcomplete problems and of noncomputability will be covered. The algorithms studied will include examples involving sorting, graphs, geometry, and combinatorics. Theoretical aspects of algorithms will be studied as well as practical aspects useful in writing programs. 
4282 
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. 
4081 
CPSC40401 
Computer Science Seminar 
0.50 
SEM 
Spezialetti,Madalene 
R: 2:55PM4:10PM 
TBA 

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. 
4283 
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. 