Courses in Computer and Communication Sciences (Division 353)

270. Computer Science I. 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. 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. Text will be OH PASCAL, by Doug Cooper and Michael Clancy, W. W. Norton & Co., New York, publishers.

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 and students without knowledge of the ALGOLW language can enroll in CCS 381 concurrently. 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 to language features to problem domain and programming languages for special domains).

Programming Language Short Courses.

CCS 380 through 389 form a sequence of four-week short courses (offered for one credit each) which teach details and use of various common programming languages. Only CCS 380, 384, and 385 are offered Fall Term, 1982. Students can take these courses in conjunction with the primary programming course sequence (CCS 270 or 274, 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 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 374. (1). (Excl). Offered mandatory credit/no credit.

See introductory statement regarding programming short courses.

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

See introductory statement regarding programming short courses.

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

This course is an introduction to the foundations of computer and communication sciences with emphasis on formal approaches such as propositional calculus; logical nets; finite automata; regular expressions; finite-state grammars; context-free grammars; Turing machines; and applications to natural language.

469. History of Computers. CCS 274 or equivalent knowledge of programming; or permission of instructor. (3). (NS).

Digital computers and automated systems have been revolutionizing society during the last two decades. We will study how this revolution came about, emphasizing the technological and logical aspects of this development. The stream of inventions will be related to the technology available and to problem needs: tables, differential equations, statistics, bookkeeping, and new problem areas created by electronic computers. We will concentrate on the development of the general-purpose electronic computer during World War II and the emergence of the stored-program computer. I was actively involved in both of these developments and will add my own analysis to the published record. Logical and block-diagram design will be related to technology and to problems that needed to be solved. Use will be made of the departmental exhibit of part of the first electronic computer (ENIAC), and of slides and films. 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 how the historical and inventive process can be viewed as an evolutionary system illustrating certain generalizations. Admission to the course is by application only. Application forms are available at the CCS Department, 221 Angell Hall. (Burks)

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

This is the third course in the programming sequence for non-Honors students and is normally preceded by CCS 274 and CCS 374. Data structuring principles useful in a wide variety of problem solving areas are covered. Alternatives are considered with respect to utilization of storage and time.

520. Foundations of Formal Systems. Graduate standing in Computer and Communication Sciences or permission of the instructor. (3). (NS).

CCS 520 provides a graduate-level introduction to formal concepts and proof techniques in the theory of computer science. Included as representative subject matter are finite-state machines, Turing machines, recursive functions, and computability. Emphasis is on acquiring tools and techniques for formal modeling and deduction.

573/CICE 573. Operating Systems. CCS 476, CCS 572, or ECE 364; or the equivalent. (4). (NS).

Basic components and functions of operating systems: hardware and software concepts, file systems, system implementation and evaluation. Students write several substantial programs. The objectives are to teach the fundamentals of designing, implementing and analyzing operating systems. Students are expected to learn both theoretical and pragmatic aspects of operating systems. The required background is assembly language programming, data structures and calculus. Three hours of lectures and one hour of recitation per week. Grades are based on exams and programming problems. Required text: Operating Systems by Madnick and Donovan.


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.