Despite the name, Computer Science is not really a science of computers at all. Computers are quite remarkable electronic devices, but even more remarkable is what they can be made to do: simulate the flow of air over a wing, manage communication over the Internet, control the actions of a robot, synthesize realistic images, play grandmaster-level chess, learn how to automatically translate between languages, and on and on. Indeed, the application of computers in activities like these has affected most areas of modern life. What these tasks have in common has little to do with the physics or electronics of computers; what matters is that they can be formulated as some sort of computation. This is the real subject matter of Computer Science: computation, and what can or cannot be done computationally.
Computer structures, machine languages, instruction execution, addressing techniques, and digital representation of data. Computer system organization, memory storage devices, and microprogramming. Block diagram circuit realizations of memory, control and arithmetic functions. There are a number of laboratory periods in which students conduct experiments with digital logic circuits.
This course offers a concise introduction to ethics in computing, distilled from the ethical and social discussions carried on by today's academic and popular commentators. This course covers a wide range of topics within this area including the philosophical framework for analyzing computer ethics; the impact of computer technology on security, privacy and intellectual property, digital divide, and gender and racial discrimination; the ethical tensions with Artificial Intelligence around future of work and humanity, the emerging role of online social media over voice, inclusion, and democracy; and the environmental consequences of computing. 2b1af7f3a8