Courses in Computer and Communication Sciences (Division 353)

270. Computer Science I. Math. 115 or equivalent. Credit is granted for only one course from among CCS 270 and 274. (3). (NS).

This is the first course in Computer Science for prospective concentrators. It introduces some of the basic concepts of algorithm and program preparation, using the PASCAL language as a vehicle. Students will be required to attend recitations and to prepare a number of computer programs of increasing complexity. Most of the programs will support the concepts that were introduced, and will be mainly non-numeric in nature. This course is not intended to be simply a course in programming. It is intended for people who will major in Computer Sciences, Computer Engineering, or Mathematics. Course work involves writing and running between five and eight computer programs. There may be several quizzes and/or exams. No prior experience with computers is necessary or assumed. Text will be Programming in PASCAL, by Peter Grogono. (Frieder)

274. Elementary Programming. Math. 105 or the equivalent. Credit is granted for only one course from among CCS 270 and 274. (3). (NS).

This is an introductory course in problem solving and structured programming. As well as teaching the rudiments of a programming language, e.g., PASCAL, the course teaches a variety of algorithmic problem solving techniques. Course work involves writing and running between five and eight computer programs. There may be several quizzes and/or exams. No prior experience with computers is necessary or assumed. Texts are Karel, the Robot and Oh! PASCAL!

370. Computer Science II. CCS 270. (4). (NS).

There will be two parts of the course. Advanced programming will cover introductory data structures, segmentation, software design methodology, and a project. The theoretical part will cover introduction to the theory of programming languages, and computability. The course is a part of preconcentration requirements for Computer Science majors, and has to be completed with a grade of B- or better before admission to the concentration will be considered. The students will be evaluated on the basis of a midterm, final, homeworks, and a project. The required text is PASCAL/VS Language Reference Manual, IBM reference number SH20-6168-1 and a set of course packs. Recommended books are P. Grogono, Programming in PASCAL, Addison Wesley 1980, and I. Pohl, A. Shaw, The Nature of Computation, Computer Science Press, 1981. Format is three hours of lecture, one hour of recitation per week. (Rajlich)

Programming Language Mini-Courses. CCS 380 through 389 form a sequence of four-week mini-courses (offered for one credit each) which teach details and use of various common programming languages. CCS 380, 384, 385, and 387 are offered Winter Term, 1983. Students can take these courses in conjunction with the primary programming course sequence (CCS 274/374/476) or independently. Computer problems are assigned; grading is credit/no credit. Consult the Time Schedule for specific starting dates.

380. FORTRAN Programming Language. CCS 274 (may be elected concurrently). No credit granted to those who have completed Engin. 102. (1). (Excl). Offered mandatory credit/no credit.

See introductory statement regarding programming language short courses.

384. SNOBOL Programming Language. CCS 374. (1). (Excl). Offered mandatory credit/no credit.

See introductory statement regarding programming language short courses.

385. LISP Programming Language. CCS 374. (1). (Excl). Offered mandatory credit/no credit.

See introductory statement regarding programming language short courses.

387-389. Special Courses in Various Programming Languages. CCS 274. (1 each). (Excl). Offered mandatory credit/no credit.

See introductory statement regarding programming language short courses.

400. Foundations of Computer and Communication Sciences. ECE 367 or permission of instructor. (3). (NS).

This is a basic course in the theory of Computer Science. It is required for CCS concentration. Prerequisites are ECE 367 or Math 312 only. However, a certain math culture is necessary for a successful study. The recommended textbook is: Elements of the Theory of Computation, by H.R. Lewis and C.H. Papadimitrion, Prentiss-Hall. Methods of instruction are: lectures, intermediate exam, final exam and a lot of homework. Syllabus: (1) A survey of the necessary math tools, (2) Finite automata and regular languages, (3) Context-free languages and pushdown automata, (4) Turing machines and recursive functions, (5) Uncomputability, (6) Introduction to computational complexity. (Gurevich)

478. Introduction to Software Architecture. CCS 374 or 494 or permission of instructor. (4). (NS).

The course will cover basic principles of software architecture, including top-down design methodology, decomposition of a system, programming-in-the-large vs. programming-in-the-small abstraction mechanisms, etc. The material will be based on lecture notes to be distributed in installments. All programs will be written in PASCAL/MTS and knowledge of PASCAL will be assumed. It is strongly recommended that students should have taken CCS 476 or have equivalent background. Grading will be based on two midterms, several homeworks, and a large programming project (approx. 2000 lines of code). Lectures will continue through approximately the ninth week of the term, the rest of the term will be devoted to project work. There is not a required text for the course. The recommended reference is: Roger Pressman, Software Engineering, McGraw-Hill, 1981. (Price approx. $30.00). (Thatte)

501-509. Special Topics in Computer and Communication Sciences. Permission of instructor. (2-4). (NS). May be repeated for credit.

CCS 506 is offered Winter Term, 1983.

CCS 506 is a laboratory course in computer science. It discusses the structure of microcomputers through both presentations and self study. Hardware aids for real-time programming are used in a framework of real-time analysis. The course requires knowledge of assembly language programming, basic knowledge of operating systems and the ability to comprehend hardware descriptions. The students will be engaged in software and laboratory development. (Frieder)


lsa logo

University of Michigan | College of LS&A | Student Academic Affairs | LS&A Bulletin Index

This page maintained by LS&A Academic Information and Publications, 1228 Angell Hall

The Regents of the University of Michigan,
Ann Arbor, MI 48109 USA +1 734 764-1817

Trademarks of the University of Michigan may not be electronically or otherwise altered or separated from this document or used for any non-University purpose.