CSC 110 Fundamentals of Computer Science (Spring 2013) Instructor: Cheer-sun D. Yang, Ph.D. Office: UNA 145 Phone: (610) 738-0450 E-mail: cyang@wcupa.edu Office Hours: TR 11-12; R 5-7PM; By Appointment (W) COURSE OBJECTIVES: This course introduces students to the fundamentals of computing and computational thinking using the Python programming language. A pragmatic approach is used in this class; Python programming is introduced as early as after the fundamentals are initiated. When more fundamental subjects about software and hardware are discussed, more Python programming concepts are introduced including recursive programming paradigm, event-driven paradigm, 2D graphic programming, and animation. After having learned enough about Python programming, students shift the attention to the Google Explore Computational Thinking lessons and subjects. The main objective is to introduce students in all disciplines to “Computational Thinking”. TEXTBOOK AND REFERENCE BOOKS: 1. Cheer-Sun Yang, “Fundamentals of Computing (3rd Edition),” West Chester Bookstore (Required). 2. Allen B. Downey, "Think Python: How to Think Like a Computer Scientist," O’Reilly. (http://www.greenteapress.com/thinkpython/html/index.html) 3. Google, “Exploring Computational Thinking,” Google Website. (http://www.google.com/edu/computational-thinking/) COURSE OUTLINE: PART I: Basics about Computers and Python Programming 1. Chapter 1 – Introduction 2. Chapter 2 – WWW and HTML 3. Chapter 3 - Application software and Programming Software 4. Chapter 5 – System Software 5. Chapter 10 – Introduction to Python, Primitive Data Types 6. Chapter 11 – Variables, Input and Output Statement, and Conditional Statements PART II: Computer Hardware, Networking, Security, and Recursive Programming Paradigm 7. Chapter 6 - Computer Hardware 8. Chapter 7 – Networking 9. Chapter 8 - Security 10. Chapter 12 – Python Loop Control Statement 11. Chapter 13 – Recursion Paradigm PART III: Computational Thinking (http://www.google.com/edu/computational-thinking/) 12. Google Computational Thinking Website – student presentations 13. Chapter 14 – 2D Graphics 14. Chapter 15 – Animation 15. Chapter 16 – Event-Driven Paradigm EVALUATION CRITERIA: 1. 25% - Exam I (Chapters 1, 2, 3, 5, 10, and 11) 2. 25% - Exam II (Chapters 6, 7, 8, 12, and 13) 3. 25% - Computational Thinking (CT) Presentations 4. 25% - Exam III (All CT Presentations, Chapters 14, 15, and 16) All exams are in-class, close-book, and close-notes. Letter grades will be assigned based on the total grades. Plus and minus will also be used when assigning letter grades. GRADING POLICIES: 1. No Make-Up Exams except under extenuating conditions, including sickness (with medical verification), official off-campus representation, and other emergency situations. In any event, please send me e-mail at your earliest possible time. Without receiving any message when missing any exam, you will be assigned a zero grade. 2. Computational Thinking Presentations: Grading criteria include accuracy, thoroughness, exercises, presentation preparation, and novelty of ideas (5 points each). ACADEMIC HONESTY: Any form of plagiarism including copying and/or editing from other student’s work will be considered cheating. However, forming a study group and discussing homework problems and programming assignments are highly encouraged. The student handbook will be used to handle those who violate the rule. CLASS ATTENDANCE: (See W.C.U. catalog) A student is expected to attend every class. When a student misses a nonexam class, it is the student’s responsibility to determine what was missed and to make up for the work. STUDENT SERVICES: We at West Chester University wish to make accommodations for persons with disabilities. Please make your needs known by contacting the instructor and or the Office of Services for Students with Disabilities at ext. 3217. Sufficient notice is needed in order to make the accommodations possible. The University desires to comply with the ADA of 1990. GEN ED GOALS FOR CSC110 1. Communicate Effectively a. Write syntactically correct programs in an object-oriented programming language b. Write properly-documented computer programs 2. Employ Quantitative Analysis and Mathematical Methods 3. Think Critically and Analytically a. Develop appropriate, clear, and logically correct solutions to programming problems b. Correctly implement these solutions in an object-oriented computer language and test the resulting computer program.