Syllabus

Lecture Hours
Topic(s)

1

Introduction, Overview and Administration

6

Data and Representation, including binary numbers and addition, representation of text, sound, images, and motion pictures.  Elementary compression techniques.

4

Logic gates and simple circuits; incl. truth-tables, flip-flops, storage devices

3

Components of computing system, stored program, von Neumann architecture, fetch/execute cycle, memory hierarchy, typical machine code.

2

Operating systems, system software – abstracting away hardware, user interfaces, file hierarchy and structure, scheduling and multi-tasking

2

Programming languages, hierarchy (machine..assembly…) imperative languages, typical high-level primitives/pseudocode, iteration.

5

Algorithms, basic concepts, conditional and compound statements, iteration, loop control, flow charts, search, sort, pattern matching, elementary data structures, notions of efficiency and correctness

2

Computer as an experimental tool - discrete event simulation, queuing, data visualization.

3

Databases: fields, records, tables, keys, queries – select, project, set operations, join, views.

4

Networks and WWW, numerous topics incl. history, topology, packets, protocols, security, encryption, viruses, html, xml, queries and search engines

5

Artificial Intelligence:  philosophical issues, natural language, machine learning, neural networks, expert systems, genetic algorithms, robotics

2

Applications across fields:  info storage and retrieval, decision support, data visualization, communications, modeling/design and simulation, art-music-video-entertainment including editing of media, education, e-commerce, embedded and real-time systems

2

Limitations of computation: uncomputability and halting problem, intractability, other limitations

45

TOTAL

Lab Topics


Course Highlights include:

   

The world - continuous or discrete? Binary number magic tricks. Bits, bytes, text, sound, images, motion pictures.

Wood & Water computers? From gates to circuits. A revolution of memory.

Hardware Hierarchy, von Neuman's great idea, modern day and future biological computing devices. The medium IS NOT the message!

   

Applications across sciences, arts, humanities.

Data mining, algorithms in word processors and their cousins that find patterns in the human genetic code.

   

Essay-writing programs, can computers understand natural language?

Machine classification and clustering.

Neural nets, Genetic algorithms.

What is thought? Philosphical issues.

Network topologies, the internet, and the wwwevolution.

Public key cryptosystems, security, privacy, viruses.

Web pages, wikis, blogs, databases, XML, and lots of other buzzwords

Limitations of computation, intractability, combinatorially expensive computation.
   
Simple programming languages, software and hardware hierarchies, abstraction and encapsulation, algorithms, simple data structures, and complexity.