# Program in Computing Courses

## Upper-Division Courses

110. Parallel and Distributed Computing. (5) Lecture, three hours; discussion, two hours; laboratory, eight hours. Requisite: course 10B or equivalent familiarity with programming in C or C++ language. Introduction to programming of parallel computers. Shared and distributed memory parallel architectures; currently available parallel machines; parallel algorithms and program development; estimation of algorithmic performance; distributed computing; selected advanced topics. P/NP or letter grading.

130. Cryptography. (4) Lecture, three hours; discussion, one hour; laboratory, three hours. Requisites: course 10B, Mathematics 115A. Design and analysis of cryptosystems for confidentiality and authentication. Classical cryptosystems and their security, modern private-key cryptosystems and applications, public-key cryptography and applications; generating prime numbers, factoring integers, discrete logarithms, digital signatures, perfect secrecy. P/NP or letter grading.

187. Advanced Variable Topics in Programming. (4) Lecture, three hours; discussion, one hour. Variable topics in programming and mathematics of programming not covered in regular program in computing courses. May be repeated for credit with topic change. P/NP or letter grading.

189. Advanced Honors Seminars. (1) Seminar, three hours. Limited to 20 students. Designed as adjunct to undergraduate lecture course. Exploration of topics in greater depth through supplemental readings, papers, or other activities and led by lecture course instructor. May be applied toward honors credit for eligible students. Honors content noted on transcript. P/NP or letter grading.

189HC. Honors Contracts. (1) Tutorial, three hours. Limited to students in College Honors Program. Designed as adjunct to upper-division lecture course. Individual study with lecture course instructor to explore topics in greater depth through supplemental readings, papers, or other activities. May be repeated for maximum of 4 units. Individual honors contract required. Honors content noted on transcript. Letter grading.

## Graduate Courses

285C-85L. Seminars. (4 each) Seminar, three hours. Considered equivalent to Mathematics 285A through 285L for purposes of degree requirements. Topics in various computational fields by means of lectures and informal conferences with staff members. S/U or letter grading: **285C.** Computational Algebra. **285D.** Logic and Theory of Computation. **285J.** Scientific Computation. **285K.** Randomness and Computation. **285L.** Computational Statistics.

296. Participating Seminar: Logic and Theory of Computation. (1 to 4) Seminar, to be arranged. Seminar and discussion by staff and students. S/U grading.

375. Teaching Apprentice Practicum. (1 to 4) Seminar, to be arranged. Preparation: apprentice personnel employment as teaching assistant, associate, or fellow. Teaching apprenticeship under active guidance and supervision of regular faculty member responsible for curriculum and instruction at UCLA. May be repeated for credit. S/U grading.