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, written problem sets, 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, MCGUIRE
Second Semester: MURTAGH, HEERINGA