CSE 12: Survey of Computer Science

Professor: Glenn David Blank             Phone: 758-4867                 E-mail: "glennblank at google dot com"
Hours: T
WF 2:10-3PM                          Office: 328 Packard Lab    http://www.cse.lehigh.edu/~glennb

Prerequisites: none (that=s right, none!)
Textbooks: • Glenn D. Blank, Robert F. Barnes and Edwin J. Kay, The Universal Computer:
                       A Multimedia Introduction to Computer Science
(McGraw-Hill/Primis, 2004), UC

                    Plus supplemental chapters on Java by Profs. Kay and Blank, Java

Objectives. By the end of this course, you should be able to:

• Understand and converse intelligently about great ideas and issues in computer science, such as virtual machines, virtual memory, and virtual reality; what a programming langauge translator does how it works; what a modern operating system or computer network does, how it works, and how to make effective use of it; how computing affects our privacy, security, job prospects, copyrights, or ethics; the potential and limits of artificial intelligence, etc.

• Understand how software developers solve problems, well enough to analyze, design and implement solutions to simple problems, with use cases, UML and Java.

• Critique a software user interface and create a web page with Flash animation.

• Work in pairs or teams when analyzing or developing software.

• Decide whether you want to learn more about computer science in other courses.

Requirements:

Class and lab attendance, quizzes and participation:                                     15%

Homework/software development assignments:                                            40%
6-weeks & final exams:                                                                                        15% and 30%

Syllabus:

  Date          Topic                                                                                                 Reading; assignments (tentative due dates)

M 8/29   Objectives; introducing the universal computer; misconceptions

W 8/31   Turing machines, virtual machines                                                   Read UC chapter 1

Fr 9/2     Bits and bytes

M 9/5     Lab: Knobby's World and Turing machines; Problem solving   #1 due 9/6 (UC 1)

W 9/7     Problem solving strategies                                                                 Read UC chapter 2

F 9/9       Knobby's World: a gentle introduction to programming

M 9/12   Lab: Knobby's World; Programming language translators          #2 due 9/13 (UC 2)

W 9/14   How translators (compilers and interpeters) work                         Read UC chapter 3

Fr 9/16    Big Picture of Software Development                                              Read Java, chapter 1

M 9/19    Lab: Java objects and classes in Eclipse                                         #3 due 9/20 (UC  3, Java 0)

W 9/21   Objects and classes                                                                             

Fr 9/23    Gathering requirements                                                                                

M 9/26   Lab: Designing a class in Eclipse and Java                                                           

W 9/28   Review                                                                                                   

F 9/30     6-weeks exam in class (UC  1-3, Java  1)                                                

M 10/3    Lab: Java method programming (Software engineering multimedia) Read Java, chapter 2             

W 10/5   Extreme Programming                                                                         Read UC chapter 4    #4 due: 10/5 (Java 1-2)

F 10/7     Hacking and out-sourcing                                                                 Human-interest articles

M 10/10  Pacing break

W 10/12 Peeling the onion: computer architecture                                        Read UC chapter 5, section 1

F 10/14   Boolean logic and computer circuits                                                Read UC chapter 5, section 2        

M 10/17 Computer architecture multimedia                                                     #5 due 10/24 (UC  4-5)

W 10/19 From batch to multitasking operating systems                                Read UC chapter 6, sections 1-3       

F   10/21  How the Internet works; encryption; viruses                                  Read UC chapter 6, sections 4-5 

M 10/24   Operating systems                       

W 10/26 Analyzing algorithms                                                                           Read UC chapter 7, section 1

F 10/28   Orders of magnitude and efficicency of algrithms                           Read UC chapter 7, section 3

M 10/31  Networks and start algorithms       

W 11/2     Usability and user interface design                                                  Read UC chapter 8, section 1

F 11/4       HTML                                                                                                   Read UC chapter 8, section 2.1

M 11/7    Finish algorithms; user interface and web design                          #6 due 11/7 (UC  6 and 7)                                

W 11/9    Graphics                                                                                                   

F   11/11   Animation                                                                                            Read UC chapter 8, section 2.4        

M 11/14   Flash animation                                              

W 11/16    Present critique of user interface                                    

F   11/18   Action Script                                                                                       Read UC chapter 8, section 2.5

M 11/21  Flash and dynamic web design

M 11/28   Social and ethical issues                                                                     #7 due 11/28 (UC 8, Web page with Flash program)

W 11/30  JavaScript and Dynamic HTML                                                         Read UC chapter 8, section 2.3  

F   12/2    Social and ethical issues of computing                                             Read UC chapter 9

M 12/5     Artificial Intelligence                                                                                 

W 12/7    Artificial Intelligence                                                                           Read UC chapter 10

F   12/9    Wrap-up and review                                                                            #8 due 12/9 (UC 8.3,9-10)

Final exam