CSE 15: Introduction to Computing

Professor: Glenn David Blank           Phone: 758-4867                  E-mail: glenn dot blank at lehigh dot edu
Hours: TTh
3:10-4PM WF 2:10-3PM Office: 328 Packard Lab     http://www.cse.lehigh.edu/~glennb

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

                Glenn D. Blank, A Multimedia Introduction to C++ (McGraw-Hill/Primis, 2003), C++

              David Barnes and Michael Kölling, Objects First With Java (first chapter), Java

Requirements:

Homework/programming assignments/project:                                              45%
6-weeks & final exam:                                                                                          15% and 30%

Class attendance, quizzes and participation (lectures and labs):                 10%

Extra credit in assignments

Syllabus:

  Date          Topic                                                                                                 Reading; assignments (tentative due dates)

M 8/25    Objectives; syllabus;

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

Lab         Introducing the Universal Computer; misconceptions

M 9/1      Bits and bytes                                                                                      Assignment #1 due 9/1 (UC chapter 1)

W 9/3     Problem solving; Knobby’s World                                                   Read UC chapter 2

Lab         Problem solving; Knobby’s World                                                  

M 9/8      Programming language syntax, interpreters and compilers           Read UC chapter 3

W 9/10   Simple C++ programs                                                                          Read C++ chapter 11, sections 1-2

Lab         Programming languages, A Taste of C++ (Hello, World)              Assignment #2 due 9/8 (UC chapter 2)

M 9/15    C++ arithmetic, characters, program structure                                Read C++ chapter 11, sections 3-5

W 9/17   Objects and classes in Java                                                               Read Java, chapter 1, sections 1-10

Lab         Finish A Taste of C++, Objects and classes (in Java)                   Assignment #3 due 9/19 (UC 3 & C++ 11)

M 9/22    Classes in C++ (Abstract Data Types)                                             Read C++ chapter 12, sections 1 and 2

W 9/24   LOOKOUT class library                                                                      Read C++ chapter 12, section 3

Lab         Classes: an outside look                                                                     Assignment #4 due 9/29 (Java 1, C++ 12)

M 9/29    Software life cycle (and review)                                                         Read UC chapter 4, sections 1-2                                                      

W 10/1   6-weeks exam, in class                                                                        UC chapters 1-4.2, C++ chapters 11-12

Lab         Software engineering, pair programming & debugging                                                                

M 10/6    Software engineering methodologies                                               Read rest of UC chapter 4

W 10/8   Boolean expressions and control structures                                   Read C++ chapter 13, sections 1-3

Lab         Loops                                                    

M 10/13 No class (Friday classes meet)                                                           Assignment #5 due 10/16 (UC 4 & C++ 13)

W 10/15 Getting loops right                                                                               Read rest of C++ chapter 13

M 10/20 Peeling the onion: computer architecture                                         Read UC chapter 5

Lab         Architecture; functions control & syntax                       

W 10/22 Function control, return types & scope of variables                     Read C++ chapter 14, sections 1-4

M 10/27 Parameters and prototypes                                                                 Read rest of C++ chapter 14

Lab         Function parameters & prototypes; operating systems                Assignment #6 due 10/30 (UC 5 & C++ 14)

W 10/29 Operating systems                                                                               Read UC chapter 6, sections 1-4

M 11/3    Networks and security                                                                        Read rest of UC chapter 6

Lab         Networks; strings

W 11/5   Strings and subscripts                                                                        Read C++ chapter 15, section 1

M 11/10  Arrays                                                                                                    Read rest of C++ chapter 15

Lab         Arrays, sorting and searching, algorithms                                      Assignment #7 due 11/14 (UC  6-7 & C++ 15)

W 11/12 Algorithms                                                                                            Read UC chapter 7

M 11/17 Implementing classes (an inside look)                                              Read UC chapter 16, section 1

Lab         Usability and HTML; Classes: an inside look

W 11/19 User interface and web design                                                           Read UC chapter 8

M 11/24 Social, ethical and professional issues                                             Read UC chapter 9

Lab         Flash animation and Actionscript; Social and ethical issues

M 12/1    Artificial intelligence                                                                           Read UC chapter 10

W 12/3   Wrap-up and review                                                                            Assignment #8 due 12/5 (UC  8-10 & C++ 16)