Nature of Computing

CSCI 104 (Section 04), spring 2014

 

 

To the Bottom of the Page

 

Instructor:     Dr. Shieu-Hong Lin

Email: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: LinEmail

TA:                 Jonathan Oh 

 

Textbook:       Digital Planet: Tomorrow's Technology and You, Introductory, 10th Ed .

Reference:      Think Python by Allen B. Downey. 

Class:              MW 4:30-5:20PM at Library 141

 

Course Syllabus (Summary, Full version)

 

Weekly Cumulative Progress Report for the Reading and Participation Credit:

·       Download the template of cumulative weekly progress report. Keep updating this cumulative weekly progress report as a file throughout the semester. By the end of every Wednesday, you should incorporate information of what you have done and the amount of time you spent for the reading assignment, the lab assignment, the programming assignment, or other written assignments since last Wednesday into the cumulative progress report. This file serves as the basis for you to gain the credit of “Reading/Participation”, which accounts for 15% of the total grade weight.

 

Submission of the Weekly Cumulative Progress Report:

·       By the end of every Wednesday, you should email the cumulative progress report as an attachment to the TA, Jonathan Oh.

 

 

*****************************************************************

 

Week 1: Can we make the computer think and act like humans?  Email your file of cumulative progress report to the TA by Wednesday, Feb. 5.

 

Reading#1: (3 Points for reading+attendance)

·       Read at least the section on Influence on technology and law and the general introduction in this Wikipedia article on the movie 2001: A Space Odyssey, and the section on the future of computing in this Wikipedia article on the HAL 9000 computer in the movie.

·       Read this Wikipedia article on HAL in the movie.

 

Faith and learning reflection assignment#1: (6 Points)

1.     Spend 15 minutes at least to read and reflect on Genesis 1:27 regarding the creation of humans in the image of
God and Psalm 8 regarding the distinguished role of humans.

2.     Spend 15 minutes at least to reflect on the imagined intelligent behaviors of HAL in the movie 2001: A Space Odyssey and the reading of the Wikipedia articles on the movie. Do you think HAL in the movie reflects to some degree the aspiration for creating something in the likeness of humans?

3.     Write a short reflection paper (at least 600 words) in which you should (i) describe two or more intelligent behaviors of HAL that you really like and at least one behavior you really don’t want your computer to have and explain why, (ii) describe what intelligent behaviors of HAL you think the computer technology today or a decade into the future can accomplish, (iii) explain whether you think one day we may have a computer as capable as HAL  in the movie, (iv) explain whether you think the depiction of HAL in the movie reflects to some degree an aspiration to create something in the image of human beings, and (v) any further thoughts you have from the refection on the passages and the movie.

4.     Submission: Enclose your writing in Step 3 above into your weekly cumulative progress report for Week 1.

 

Lab#1: (3 Point)

·       Step1. Read this “Hello World” online tutorial on Python.

·       Step2. Do the following things: (i) Download and install Python 2.7.6 on your own computer. (ii) Open up the Python IDLE environment and enter the expression 3+4 to see whether you get 7 as the result. (iii) Try the following print statement print "I think 3+4 is ", 3+4 and examine what you see. (iv) Try the following assignment statement x=3+4 to store the result of 3+4 into the computer memory x. Then enter x and examine what you see. (v) Try the following input statement message=raw_input("Please enter something here: ") to store the result of whatever string the user entered into the computer memory message. Then enter message and examine what you see. 

·       Step3. Submission: Report in your weekly cumulative progress report what you see in Step 2 above and whether you encounter any difficulty in the process.

 

Note that on Windows you can also get to C:\Python27\Lib\idlelib\idle.pyand double click it to open up the Python IDLE environment.

 

*****************************************************************

 

Week 2: How does the computer store and process information?  Progress report and the following assignments due: Wednesday, Feb. 12.

 

Reading#2: (3 Points for reading+attendance)

1.     Read the sections on bits and bytes, CPUs, and computer memory in Chapter 2 of the textbook.

2.     Browse the introduction section of this Wikipedia article on sensor memory, short-term memory versus long-term memory based on the first two items in Reading #2 above.

3.     Browse the introduction sections in the beginning of the following Wikipedia articles on ASCII code and Unicode.

 

Lab #2 (6 points): Read and do the work described here regarding the encoding of numbers, text, and images in bits and bytes.

 

Faith and learning reflection assignment#2: (3 Points):

1.     Spend 15 minutes to read and reflect on Deuteronomy 6:12, Psalm 119:11, and Acts 20:35 regarding the role of memory in faith and give thanks for the memory capacity we have.

2.     Spend 15 minutes to reflect on the similarity and/or difference between human memory and computer memory according to (1) and (2) in Reading #2 above.

3.     Write down what occurred to you in your mind during the two reflections above (at least 300 words).

4.     Enclose your writing in Step 3 above into your cumulative progress report for Week 2.

 

 

Computer Science showcase: (How well can the computer interact with us like HAL does?)

1.     Watch these Youtube videos 1, 2, and read this NewYork Times article about IBM Watson and how computer scientists can equip the computer with enough common sense to compete in Quiz Show Jeopardy and outperform humans.

2.     Watch a YouTube from video on automatic speech recognition and browse this Wikipedia article on automatic speech recognition.

3.     Browse this Wikipedia article on Siri, a personal assistant on iPhone.

 

 

 

*****************************************************************

 

Week 3: How does the computer (software + hardware) perceive the world and interact with it?  Progress report and the following assignments due: Wednesday, Feb. 19.

 

Reading#3: (3 Points for reading+attendance)

Read Chapter 3 of the textbook on hardware devices for various forms of input/output

 

 

Lab #3: (Python Programming #1A). Software = Instructions for Computer Hardware: (6 Points)

·       In your weekly progress report, report your work according to the directions in Stage 4 in Lab #3. Note that you’ll gain the full credit for this lab assignment if you have come to the class to spend 2 hours on it in the lab.

 

Computer Science showcase: (How well can the computer see and interact with us like HAL does? )

1.     Watch the YouTube videos 1, 2 and 3 on the performance of Honda Asimo humanoid robot and read the Wikipedia article on Asimo and its cognitive capability.

2.     Watch the YouTube videos (1, 2) and you can find more details from this Wikipedia article on Google car.

 

*****************************************************************

 

Week 4: Develop computer programs to perceive the world and interact with it.  Progress report and the following assignments due: Wednesday, Feb. 26.

 

Reading#4: (3 Points for reading+attendance)

Read Chapter 1 (Sections 1.1 – 1.4) and Chapter 2 of the book Think Python in HTML.

 

Lab #4: (Python Programming #1B). Software = Instructions for Computer Hardware: (6 Points)

·       In your weekly progress report, report your work according to the directions in Stage 3 in Lab #4.

·       Grading note: If you have spent at least 1 hour (but less than 2 hours on it), you’ll get 3 points even if there are errors. If you have spent at least 2 hours on it, you’ll get 4.5 points even if there are errors. For those spent at least 2 hours on it, if you did come to both sections of the class (50+50 minutes ~ 2 hours), you’ll get 5 points.

 

 

Computer Science showcase: (How well can the computer see and interact with us like HAL does?)

1.     Watch this YouTube video and this interactive video by NY Times on computer vision and automatic recognition of facial emotion expression. You can find out more from this NY Times article about how that can happen.

2.     Examine this video and the analysis about the interactive behavior of a computer medical assistant and a NY Times article about the research behind it at Microsoft

 

 

*****************************************************************

 

Week 5: How do we program the behavior of the computer (I)?  Progress report and the following assignments due: Wednesday, Mar. 5

 

Reading#5: (3 Points for reading + attendance)

Read Chapter 4 of the textbook on the basics of software

 

Lab #5: (Python Programming #1C). Software = Instructions for Computer Hardware:

·       In your weekly progress report, report your work according to the directions in Stage 3 in Lab #5.

·       Grading note: If you have spent at least 1 hour (but less than 2 hours on it), you’ll get 3 points even if there are errors. If you have spent at least 2 hours on it, you’ll get 4.5 points even if there are errors. For those spent at least 2 hours on it, if you did come to both sections of the class (50+50 minutes ~ 2 hours), you’ll get 5 points.

 

 

*****************************************************************

 

Weeks 6-7: Review + Exam #1, Mission Conference.  Progress report and the following assignments due: Wednesday, Mar. 12 (Grace period to Wednesday, Mar. 19)

 

Reading#6: (3 Points for reading + attendance):

 

Lab #6: due: Wednesday, Mar. 12 (Grace period to Wednesday, Mar. 19)

 

 

Exam 1: In-class open-book test on stuff covered in the readings, labs, and showcases. Monday, Mar. 17.

 

Class cancelled: No class on Monday, Mar. 10.

 

 

*****************************************************************

 

 

Week 8: How do we program the behavior of the computer using conditional statements (I)?  Progress report and the following assignments due: Wednesday, Mar. 26

 

Reading#8: (3 Points for reading+attendance)

Read Sections 5.1 ~ 5.7 and Section 5.11 of the book Think Python in HTML.

 

Lab #7 (Python Programming #2A): Using if-else statements in Python: (6 Points)

·       In your weekly progress report, report your work according to the directions in Stage 3 in Lab #7.

·       Grading note: If you have spent at least 1 hour (but less than 2 hours on it), you’ll get 3 points even if there are errors. If you have spent at least 2 hours on it, you’ll get 4.5 points even if there are errors. For those spent at least 2 hours on it, if you did come to both sections of the class (50+50 minutes ~ 2 hours), you’ll get 5 points.

 

Computer Science showcase: (Can we make the computer reason about games and play the games intelligently?): (i) Play rock-paper-scissor eith the computer online here for at least 50 matches. How well do you think the computer can reason about your behavior? (ii) Watch this YouTube video on Deep Blue, read at least the first three sections (up to  section on computers versus human) of this Wikipedia article on computer chess programs about computer chess programs, and if you like, download and play with GNU Chess.

 

*****************************************************************

 

Week 9: How do we program the behavior of the computer using conditional statements (II)?  due: Wednesday, April 2.

 

 

Reading#9: (3 Points for reading + attendance)

(i) Review Sections 5.1 ~ 5.7 and Section 5.11 of the book Think Python in HTML, and (ii) browse through Chapter 5 of the textbook.

 

 

Lab #8 (Python Programming #2B): Using if-else statements in Python: (8 Points)

·       In your weekly progress report, copy and paste your program into the weekly progress report.

·       Grading note: If you have spent at least 1 hour (but less than 2 hours on it), you’ll get 3 points even if there are errors. If you have spent at least 2 hours on it, you’ll get 4.5 points even if there are errors. For those spent at least 2 hours on it, if you did come to both sections of the class (50+50 minutes ~ 2 hours), you’ll get 5 points.

 

 

*****************************************************************

 

Week 10: How do we program the behavior of the computer using loops (I)?  due: Wednesday, April 9.

 

Reading#10: (3 Points for reading + attendance)

(i) Read Sections 7.1 ~ 7.4 of the book Think Python in HTML, and (ii) browse through Chapter 6 of the textbook.

 

 

Lab #9 (Python Programming #3A): Using while statements in Python: (8 Points)

·       In your weekly progress report, copy and paste your program into the weekly progress report.

·       Grading note: If you have spent at least 1 hour (but less than 2 hours on it), you’ll get 3 points even if there are errors. If you have spent at least 2 hours on it, you’ll get 4.5 points even if there are errors. For those spent at least 2 hours on it, if you did come to both sections of the class (50+50 minutes ~ 2 hours), you’ll get 5 points.

 

 

*****************************************************************

 

Weeks 11-13: How do we program the behavior of the computer using loops (II) + Spring Break + Review

 

Reading#10: (3 Points for reading + attendance) due: Wednesday, April 16.

(i) Read Sections 3.1 ~ 3.9 of the book Think Python in HTML, and (ii) Read the description of a simple nim game. Download and play with this Windows executable (zipped) compiled from an intelligent C++ nim game program written in the C++ programming language. Note: Lab #10 below asks you to implement a basic Python program that can play the game (i.e. the TLCW version of the game with the player taking the last coin as the loser of the game) but not in an intelligent way.

 

 

Lab #10: On a simple nim game (Python Programming #3B): Using while statements in Python: (12 Points) due: Wednesday, April 16. Grace period to April 30.

 

·       In your weekly progress report, copy and paste your program into the weekly progress report.

·       Grading note: If you have spent at least 1 hour (but less than 2 hours on it), you’ll get 3 points even if there are errors. If you have spent at least 2 hours on it, you’ll get 4.5 points even if there are errors. For those spent at least 2 hours on it, if you did come to both sections of the class (50+50 minutes ~ 2 hours), you’ll get 5 points.

 

 

*****************************************************************

 

Week 14: How do we program the behavior of the computer using loops (III)

 

Lab #11: More on a simple nim game (Python Programming #3C): Using while statements in Python: (12 Points) due: Wednesday, May 7.

 

Computer Science showcase: Cryptography and security

 

Reading#11: Read Chapters 9 and 10 of the textbook on the subjects of computer networks.

 

*****************************************************************

 

Week 15: Review and Reflection

 

Lab #12: Creating a computer program to play the nim game intelligently (Python Programming #4): (12 Points) due: Wednesday, May 14.

 

Exam2 and Final Reflection Essay (Email the reflection essay to Dr. Lin):

·       Exam 2: 3:00~5:00pm, Monday, May 19.

Please carefully look into the study guide here. In-class open-book test on stuff covered in the readings, labs, and showcases.

·       Faith and Learning Reflection Essay: Email the reflection essay to Dr. Lin by the end of Wednesday, May 21.

 

*****************************************************************

 

Email your weekly progress report to the TA: Jonathan Oh. 

TA hour: Wednesday 5:30-6:30pm at LIB 141.

Check your grade records under the Biola Blackboard System.

 

*****************************************************************************************************

 

About IDEA Evaluation:

 

A.   Criteria selected for this course:

·       Gaining factual knowledge of terminologies, methods, and trends in computer science (such as  the concepts of bits, bytes, binary numbers, memory, CPU, artificial intelligence, programming languages, and programming).

·       Learning fundamental principles of computer programming using Python as the programming language.

 

B: IDEA extra questions (Questions 48-52)

 

 

*************************************************************************************************

 

 

 

To the Top of the Page