CSCI 134(F,S) Digital Computation and Communication (Q)

The personal computer, the Internet, DVDs, and HDTV are just a few examples of advances in digital computing and communication technology that have transformed the mechanism we use to process and communicate information. This course explores the principles that underlie digital computation and communication. All digital information processing systems are driven by precise rules or algorithms expressed in computer programming languages. Students will develop an appreciation for the nature and limitations of such algorithms by exploring abstract algorithms for complex processes and by learning the basics of computer programming in Java. Programming topics covered will include objects, classes, methods, conditional and iterative control structures, and simple data structures using arrays or lists. The representation of information in discrete, symbolic form is ultimately what makes a system digital. We will examine digital techniques for representing information from the encoding of 0's and 1's on an optical fiber to the compression techniques that made digital video possible, always examining the tradeoffs involved in the design of such representation schemes. Format: lecture/laboratory. Evaluation will be based on weekly programming assignments, one test program, and midterm and final examinations. Prerequisites: Mathematics 100/101/102 (or demonstrating proficiency in the Quantitative Studies diagnostic test-see catalog under Mathematics). Previous programming experience is not required. Students with prior experience with object-oriented programming should discuss appropriate course placement with members of the department. No enrollment limit (expected: 18 per section).

Hour: First Semester: MURTAGH, WYMAN Second Semester: MURTAGH, LERNER