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.

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

This course is an introduction to programming for people who intend to use the computer as a tool in their profession. The PASCAL Language is used as a vehicle for teaching structured programming methodologies. Students are required to participate in recitation and write five to eight computer programs of varying complexity. The course is a service course and is not considered appropriate for prospective computer science concentrators. There may be several quizzes and/or exams. No prior experience with computers is necessary or assumed.

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)

374. Programming and Computer Systems. CCS 274 or the equivalent. (4). (NS).

This is the second course in the programming sequence for non-honor students and is normally preceded by CCS 274 and followed by CCS 476. The course focus is on advanced programming language concepts and hardware/software support for programming and programming languages. The programming language taught and used in the course is the same as in CCS 274. The four or five required programming exercises are solved in the programming language; other languages may be used to provide examples. Examples of machine organization are taken from the machine being used at the Computing Center; other organizations will be useful for some examples. Homework consists of work problems (not involving programming) and four or five programming exercises. Course format is two lectures per week (one-and-a-half hours each) plus one discussion/problem session each week. Course content is divided into four parts: (1) machine organization (computer structure and machine language; addressing techniques, representation of data; assembly systems; logic, micro-programming, emulation; computer systems organization; and utility and support systems), (2) advanced programming language concepts (review of basic concepts, subprograms, data structures, parallel processing), (3) programming language translation (BNF syntax specification, in-fix and post-fix notation, translation of arithmetic expression from in-fix to post-fix, and structures of compilers), and (4) comparative programming languages (relation of language features to problem domain and programming languages for special domains).

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 Fall Term, 1983. Students can take these courses in conjunction with the primary programming course sequence (CCS 270 or 274, 370 or 374, and 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 270 or 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 short courses.

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

See introductory statement regarding programming short courses.

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

See introductory statement regarding programming short courses.

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

CCS 387, a Pascal programming course, is offered Fall 1983. See introductory statement regarding programming language mini-courses.

469. History of Computers. Declared CCS or ECE concentration, and permission of instructor. (3). (NS).

This course covers the history of computing from the abacus to the emergence of the stored-program computer. The emphasis is on digital computers and control devices, but analog machines will also be covered. All devices and machines are presented and evaluated in terms of the needs they satisfied, the technology available to meet those needs, and the logical and architectural design of the machine. We will trace the sequence of discoveries, and for each evaluate its workability, its conceptual contributions, and its causal influences. Issues of credit, especially the patent controversies stemming from the first electronic computers, will be explained and evaluated. ENIAC, the first general-purpose electronic computer, will be the high point of the course. There will be a laboratory session with the departmental exhibit of this machine. We will trace in detail how the ENIAC led to the first stored-program computer. This course offers broad, historical subject matter to students. It aims to give them a historical perspective on an important part of our contemporary technology and to show the inventive process in its historical context. Each student chooses between taking two exams or writing a series of papers. (Burks)

476. Data Structures. CCS 370 or 374 or the equivalent. (4). (NS).

This is the fourth course in the programming sequence for CCS concentrators and is normally preceded by CCS 270, 271, and 370. Data structuring principles of use in a wide variety of problem solving areas are covered. Alternatives are considered with respect to utilization of storage and time. Lectures and discussion sections. (Pleban)

525. Man as an Information Processing System. Permission of instructor. (3). (NS).

A survey of behavioral concepts and principles, with special emphasis on those relevant to adaptive systems. The strategy of the course is to follow the information flow through the organism, with particular attention to the way patterns of information are represented within the structure of the system. The perspectives of cognitive psychology and artificial intelligence are considered in this context. The final portion of the course is devoted to human evolution and its implications for how humans process information. The class is divided into small groups which meet out of class to discuss the sorts of mechanisms that might meet various of the information processing challenges faced by members of our species. The course grade is based on a midterm, an integrative one-page paper covering the major principles of the course, and a final. Required texts include Lindsay and Norman, Human Information Processing, and Pfieffer, The Emergence of Man. (Kaplan)

575/CICE 575. Compiler Construction. CCS 476, CCS 572, or ECE 364; or the equivalent. (4). (NS).

Introduction to compiling techniques including parsing algorithms, semantic processing, and code generation. With the aid of a compiler writing system, students implement a compiler for a substantial programming language. Other topics include portability, bootstrapping, parser generation, compiler writing systems. Very heavy programming load. (Pleban)


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.