Intended primarily for students in the humanities
and not available to engineering students. General introduction to
computer science, including the design of algorithms and computer
hardware, as well as hands-on experience with applications such as
spreadsheets, databases, and the World Wide Web. Introductory
programming in Java/C++.
This course's main objective is to introduce students to the
fundamental problems and goals in computer science. While there
will be some introductory programming taught, the bulk of the
course will concentrate on examining and solving problems. The
course will first take a look at the history of computing and how
modern machines work. Next, programming and design methodologies
will be examined with emphasis on understanding their goals rather
than their technical details. Students will have hands-on
experience developing simple programs. The material will then
shift to exploring some of the more theoretical foundations of
Computer Science while examining some advanced topics including
artificial intelligence, logic, and encryption. Social issues
surrounding modern technology will be a constant topic of
elaboration.
Topics will likely include:
- History of Computer Science - history of logic/math and the rise of the digital computer
- The mechanics of modern machines - Transistors and forward.
- Structured programming and information - Problems in data storage and building large, complex systems. How does the human mind cope with this process?
- Problem solving - Strategies for solving problems that reliably work. What happens to our solution when the parameters to the problem are not fully understood? What is "artificial intelligence" and how might it help?
- Logic - Formal ways of reasoning about problems. Are there limitations?
- Encryption - How is it possible to hide information from 3rd parties?
- Digital Music/copyright - How is digital media encoded? How is is possible to "compress" data?
None. But familiarity
with the general use of a computer is expected. There are many
AcIS workshops available for learning the basics of computer
operation and there will be ample help for completing exercises.