Computer Science 1000, Winter '18
Course Diary
Copyright 2018 by H.T. Wareham
All rights reserved
Week 1,
Week 2,
Week 3,
Week 4,
Week 5,
Week 6,
(Midterm Exam Notes),
Week 7,
Week 8,
Week 9,
Week 10,
Week 11,
Week 12,
Week 13,
(Final Exam Notes),
Week 14,
(end of diary)
Friday, January 5 (Lecture #1)
[Textbook, Sections 1.1-1.3 and 1.5]
- Went over course outline (PDF).
- Introduction (Slides)[All]
- Recommended Reading (Online News):
Monday, January 8 (Lecture #2)
[Textbook, Sections 2.1 and 2.2]
- Algorithms (Slides)[#1-12]
- Online resources
- Mini-Enrichment Course: Inside Computer Programming (Notes PDF)
- Science 1000 (Winter 2012) Module: Under The Hood -- Programs, Algorithms, and Problems (Notes Diary)
Wednesday, January 10 (Lecture #3)
[Textbook, Sections 2.3.2, 2.3.3, 3.3.1, and 3.4.2]
- Algorithms (Cont'd) (Slides)[#13-26]
Friday, January 12 (Lecture #4)
[Textbook, Sections 3.1 and 3.2]
- Algorithms (Cont'd) (Slides)[#27-38]
Monday, January 15 (Lecture #5)
[Textbook, Sections 3.3 and 3.5]
- Algorithms (Cont'd) (Slides)[#39-49]
Wednesday, January 17 (Lecture #6)
[Textbook, Sections 4.2.1 and 4.2,3]
- Binary Numbers (Slides)[#1-12]
Friday, January 19 (Lecture #7)
[Textbook, Section 4.2.1 and 4.2.2]
- Binary Numbers (Slides)[#13-19]
Monday, January 22 (Lecture #8)
[Textbook, Sections 4.2.2 and 4.3.1]
- Binary Numbers (Slides)[#20-24]
- Digital Circuits (Slides)[#1-5]
Wednesday, January 24 (Lecture #9)
[Textbook, Sections 4.3.1, 4.3.2, 4.4.1, and 4.4.2]
- Digital Circuits (Slides)[#6-15]
Friday, January 26 (Lecture #10)
[Textbook, Sections 4.4.2 and 4.5]
- Digital Circuits (Slides)[#16-32]
- Recommended Viewing (Documentaries)
Monday, January 29 (Lecture #11)
[Textbook, Sections 5.1 and 5.2]
- Binary Numbers Redux (Slides)[#9-12 and 19-21]
- Computer Organization (Slides)[#1-9]
Wednesday, January 31 (Lecture #12)
[Textbook, Sections 5.2.1 and 5.2.2]
- Computer Organization (Slides)[#10-19]
Friday, February 2 (Lecture #13)
[Textbook, Sections 5.2.3 and 5.2.4]
- Computer Organization (Slides)[#20-28]
Monday, February 5
- Midterm Exam Notes
I've finished making up the midterm exam. The exam will be
closed-book and use of notes, communication, or electronic devices will not
be allowed (see midterm exam procedure for these and other
details). The exam will be 50 minutes long and has a total of 50
marks (this is not coincidental; I have tried to make the number
of marks for a question approximately equivalent to the number of
minutes it should take you to do it). The exam will cover material
in all course lectures up to and including Lecture # 11 (i.e.,
Chapters 1-4 of the Textbook). There will be 10 questions:
- 9 multiple-choice questions (42 marks total / either 2, 4, or 8 marks per question)
- 1 long-answer question (8 marks)
The breakdown of question marks by topic is Algorithms (14 marks), Binary Numbers (12 marks),
and Digital Circuits (24 marks).
I hope the above helps, and I wish you all the best of luck with
this exam.
Monday, February 5 (Lecture #14)
[Textbook, Sections 5.2.4 and 5.3]
- Computer Organization (Slides)[#28-44]
- Recommended Reading:
- Campbell-Kelly et al (2014)
- Cringely (1996)
- Freiberger and Swaine (2000)
- Kidder (1981)
- Williams (1997)
- Recommended Viewing (Documentaries)
Wednesday, February 7 (Lecture #15)
[Textbook, Sections 6.1, 6.2,, 6.3.1, and 6.3.2]
- System Software (Slides)[#1-13]
Friday, February 9 (Lecture #16)
Monday, February 12
Wednesday, February 14 (Lecture #17)
[Textbook, Sections 6.3.2 and 6.3.3]
- System Software (Slides)[#13-20]
Friday, February 16 (Lecture #18)
[Textbook, Section 6.4.1]
- System Software (Slides)[#21-32]
- Recommended Reading:
- Beyer (2009)
- Campbell-Kelly et al (2014)
- Cringely (1996)
- Freiberger and Swaine (2000)
- Recommended Viewing (Documentaries)
- Recommended Viewing (Movies)
Monday, February 19
- Midterm break: No lectures
Wednesday, February 21
- Midterm break: No lectures
Friday, February 23
- Midterm break: No lectures
Monday, February 26 (Lecture #19)
[Textbook, Sections 9 and 10; Python Supplement, Section 1]
- Programming in Python (Slides)[#1-6]
Wednesday, February 28 (Lecture #20)
[Python Supplement, Sections 1, 2, and 3.2]
- Programming in Python (Slides)[#7-14]
Friday, March 2 (Lecture #21)
[Python Supplement, Sections 1, 2, 3.1, and 3.3]
- Programming in Python (Slides)[#15-23]
Monday, March 5 (Lecture #22)
[Python Supplement, Sections 3.3, 5.1, and 5.2]
- Programming in Python (Slides)[#24-33]
Wednesday, March 7 (Lecture #23)
[Python Supplement, Section 5.1 and 5.2]
- Programming in Python (Slides)[#33-45]
Friday, March 9 (Lecture #24)
[Python Supplement, Section 6 and 7]
- Programming in Python (Slides)[#46-65]
- Recommended Reading:
- Brooks Jr. (1995)
- Campbell-Kelly (2003)
- Campbell-Kelly et al (2014)
- Ullman (1997, 2017)
Monday, March 12 (Lecture #25)
[Textbook, Sections 12.1-12.3]
- Models of Computation (Slides)[#1-11]
Wednesday, March 14 (Lecture #26)
[Textbook, Section 12.3, 12.4, 12.5.1, and 12.5.2]
- Models of Computation (Slides)[#11-21]
Friday, March 16 (Lecture #27)
[Textbook, Sections 12.5.3, 12.5.4, and 12.6]
- Models of Computation (Slides)[#22-30]
Monday, March 19 (Lecture #28)
[Textbook, Sections 12.7 and 15.1]
- Models of Computation (Slides)[#31-39]
- Artificial Intelligence (Slides)[#1-6]
- Recommended Reading:
- Recommended Reading (Online News):
Wednesday, March 21 (Lecture #29)
[Textbook, Sections 15.1-15.3]
- Artificial Intelligence (Slides)[#7-17]
- Recommended Reading:
- Recommended Reading (Online News):
Friday, March 23 (Lecture #30)
[Textbook, Sections 15.4, 15.5.1, and 15.5.4]
- Artificial Intelligence (Slides)[#18-36]
- Recommended Reading:
- Epstein (2007)
- McCorduck (2004)
- Recommended Reading (Online News):
- Sites of Interest:
Monday, March 26
- Final Exam Notes
I'm partway through making up the final exam but am now reasonably certain of
its format and content. The exam will be
closed-book and use of notes, communication, or electronic devices will not
be allowed (see midterm exam procedure for these and other
details). Note that you MUST bring your MUN ID to the final exam in order to
to be allowed to write this exam. The exam will be 120 minutes long and has a total of 100
marks (this is not coincidental; I have tried to make the number
of marks for a question approximately equivalent to the number of
minutes it should take you to do it). The exam will cover material
in all course lectures up to and including Lecture # 31.
There will be 18 questions:
- 14 multiple-choice questions (56 marks total / 4 marks per question)
- 4 long-answer questions (44 marks / 8 or 12 marks per question)
The breakdown of question marks by topic is:
- Algorithms (4 marks),
- Binary Numbers (4 marks)
- Digital Circuits (16 marks)
- Computer Organization (8 marks),
- System Software (24 marks),
- Programming in Python (20 marks),
- Models of Computation (16 marks),
- Artificial Intelligence (8 marks),
I hope the above helps, and I wish you all the best of luck with
this exam.
Monday, March 26 (Lecture #31)
[Textbook, Sections 15.5.3, 15.5.5, 15.5.6, and 15.6]
- Artificial Intelligence (Slides)[#36-59]
- Recommended Reading:
- Markoff (2015)
- McCorduck (2004)
- Turkle (1984, 1997, 2011, 2015)
- Vonnegut Jr. (1952)
- Recommended Reading (Online News):
- Sites of Interest:
Wednesday, March 28
- Guest Lecture: Reinforcment Learning for Strategy Games AI
(Rory Cambell (MUN Computer Science))
Friday, March 30
Monday, April 2 (Lecture #32)
Wednesday, April 4 (Lecture #33)
- Review for final exam (Cont'd).
Friday, April 6 (Lecture #34)
- Review for final exam (Cont'd).
- Programming in Python (Slides)
- Models of Computation (Slides)
- Artificial Intelligence (Slides)
References
- Beyer, K.W. (2009) Grace Hopper and the Invention of the Information
Age. The MIT Press.
- Brooks Jr., F.P. (1995) The Mythical Man-Month: Essays on Software
Engineering (Second Edition). Addison-Wesley Professional.
- Campbell-Kelly, M. (2003) From Airline Reservations to Sonic the Hedgehog:
A History of the Software Industry. The MIT Press; Cambridge, MA.
- Campbell-Kelly, M., Aspray, W., Ensmenger, N., and Yost, J.R. (2014)
Computer: A History of the Information Machine (3rd Edition).
Westview Press.
- Cringely, R.X. (1996) Accidental Empires: How the Boys of Silicon
Valley Make Their Millions, Battle Foreign Competition, and
Still Can't Get a Date. HarperBusiness.
- Epstein, R. (2007) From Russia With Love: How I got fooled (and somewhat humiliated)
by a computer" Scientific American Mind, October, 6-17.
- Freiberger, P. and Swaine, M. (2000) Fire in the Valley: The Making
of the Personal Computer (Collectors Edition). McGraw-Hill.
- Kidder, T. (1981) The Soul of a New Machine. Little, Brown, and Company.
- Markoff, J. (2015) Machines of Loving Grace: The Quest for Common Ground Between
Humans and Robots. Ecco.
- McCorduck, P. (2004) Machines Who Think: A Personal Inquiry into the History and
Prospects of Artificial Intelligence (Revised Edition). A. K. Petters; Natick,
MA.
- Schneider, G.M. and Gersting, J.L. (2016) Invitation to Computer Science
(7th edition). Cengage. [Course Textbook]
- Turkle, S. (1984) The Second Self: Computers and the Human Spirit. The
MIT Press.
- Turkle, S. (1997) Life on the Screen: Identity in the Age of the Internet.
Simon & Schuster.
- Turkle, S. (2011) Alone Together: Why We Expect More from Technology and
Less from Each Other. Basic Books.
- Turkle, S. (2015) Reclaiming Conversation: The Power of Talk in a Digital Age.
Penguin Press.
- Ullman, E. (1997) Close to the Machine: Technophilia and Its Discontents.
Picador; New York.
- Ullman, E. (2017) Life in Code: A Personal History of Technology.
MCD; New York.
- Vonnegut Jr., K. (1952) Player Piano. MacMillan.
- Williams, M.R. (1997) A History of Computing Technology
(2nd Edition). IEEE Press: Los Alamitos, CA.
Created: December 5, 2017
Last Modified: April 6, 2018