Courses in Computer and Communication Sciences (Division 353)

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. Only CCS 380, 381, 384, and 385 are offered Winter Term, 1982. 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.

274. Elementary Programming Concepts. Math. 105 or the equivalent. (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., ALGOLW, 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 Palay and Benson Fanget An and The Programming Psalter.

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

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 mini-courses.

381. ALGOL Programming Language. Equivalent of CCS 274. No credit granted to those who have completed 274. (1). (Excl). Offered mandatory credit/no credit.

See introductory statement regarding programming mini-courses.

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

See introductory statement regarding programming mini-courses.

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

See introductory statement regarding programming mini-courses.

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

CCS 505 is offered Winter Term, 1982.

This courses introduces the student to the logical structure of digital computers. Memory, execution unit, control unit and input/output organization as well as bus structures will be covered on the logical (rather than implementation) level. The course is intended for students in computer science, the sciences and engineering who want to acquire the understanding of how a computer is built rather than how to build it, how it operates, what considerations are taken into account in its design and what technologies exist to implement the design. The course assumes complete knowledge of programming in a high level language, and basic knowledge of concepts of assembly language. Basic concepts in Boolean Algebra as well as structure of institutions will be surveyed in the first two weeks. The course will require a considerable amount of work. The meek student is encouraged not to take it. Text: Structured Computer Organization, Andrew S. Tanenbaum, Prentice-Hall, 1976. (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.