Behrooz Parhami's website banner

Menu:

Behrooz Parhami's ECE 1B Course Page for Spring 2016

Jigsaw quilt

Ten Puzzling Problems in Computer Engineering

Page last updated on 2016 June 07

Note: ECE 1B used to be ECE 1 (see history at the end of this page)
Enrollment code: 11544
Prerequisite: Open to computer engineering students only
Class meetings: W 3:30-4:50, Buchanan 1930
Instructor: Professor Behrooz Parhami
Open office hours: M 3:30-5:00, W 10:00-11:30, HFH 5155
Course announcements: Listed in reverse chronological order
Grading scheme: Pass/Fail grade is assigned based on attendance
Course calendar: Schedule of lectures and links to lecture slides
The ten lectures: Lecture summaries and references
Additional topics: Possible replacements for current lectures
Attendance record: Please check regularly for possible errors
Miscellaneous information: Motivation, catalog entry, history
Note: The design and goals of this innovative freshman seminar are described in a brief article, a short paper, and a full paper, as follows:
- IEEE Computer, Vol. 42, No. 3, Mar. 2009 (PDF file)
- IEEE Trans. Education, Vol. 52, No. 3, Aug. 2009 (PDF file)
- Computer Science Education, Vol. 18, No. 4, Dec. 2008 (PDF file)

Course Announcements

Megaphone

2016/06/07: The spring 2016 offering of ECE 1B is officially over and course grades, shown at the end of this page, have been reported to the Registrar. I take this opportunity to wish you a pleasant summer and hope to see some of you in elective and graduate-level courses.
2016/06/01: The attendance record has been updated after today's last (10th) course lecture. Those who had no absence or one explained absence have already been assigned a "Pass" grade. Three others need to take a final oral exam, whose schedule is also listed with the attendance record. A few students have one unexplained absence and will be assigned a "Not Pass" grade if I don't hear from them by the end of this week.
2016/05/19: Students who have one absence or get one by W 6/1, please send me an e-mail message to explain the reason; you cannot earn a "Pass" grade without such an explanation (the reason for your absence is unimportant). Students who end up with two absences, must e-mail me no later than 5:00 PM on 6/1 a list of all available times on R 6/2 and F 6/3 when they can take an oral final exam covering the two missed lectures. Please specify ALL available times between 8:00 AM and 8:00 PM to avoid the possibility that I cannot find an exam time for you.
2016/03/22: Welcome to the ECE 1B Web page for spring 2016. Please read the grading scheme below very carefully to ensure that you can earn a "pass" grade at the end of the quarter. ECE 1B requires no textbook and has no homework assignments or exams. A worksheet handout is given out at the beginning of each lecture and complete lecture slides are made available on-line. Please report any broken hyperlink to the instructor.

Grading Scheme

Pass/Not-Pass grading is based on attendance and class participation. There will be no homework or exam.
0 absence: Automatic "Pass."
1 absence: "Pass" if you submit a written statement to explain the absence. Any explanation is acceptable.
2 absences: Can earn a "Pass" grade by taking an oral final exam covering the two missed lectures.
3 or more absences: Automatic "Not-Pass."
Attendance will be taken as follows. Attendance slips are distributed at the beginning of each class session, with additional slips supplied to those arriving up to 10 minutes late. Students write their names and perm numbers on the slips and turn them in before leaving the classroom at the end of the lecture. You have to turn in your attendance slip in person, not through another student.

Course Calendar

Calendar

Course lectures have been scheduled as follows. PowerPoint presentations (up to 2+ MB), and equivalent PDF files, are updated periodically. Please note that any animation in PowerPoint presentations is lost in the PDF versions. Before downloading the slides, check the "last updated" date to make sure you have the latest files for 2016. This schedule will be followed strictly; only the W 6/01 topic is tentative.

Day & Date (Lecture slides, ppt + pdf, and ppt handout) Lecture topic [Lead puzzle]
W 3/30 (ppt, pdf, handout, last updated 2016/03/27) Easy, Hard, Impossible! [Collatz's conjecture]
W 4/06 (ppt, pdf, handout, last updated 2016/04/01) Placement and routing [Houses and utilities]
W 4/13 (ppt, pdf, handout, last updated 2016/04/14) Satisfiability [Making change]
W 4/20 (ppt, pdf, handout, last updated 2016/04/14) Cryptography [Secret messages]
W 4/27 (ppt, pdf, handout, last updated 2016/04/27) Byzantine generals [Liars and truth-tellers]
W 5/04 (ppt, pdf, handout, last updated 2016/04/27) Binary search [Counterfeit coin]
W 5/11 (ppt, pdf, handout, last updated 2016/05/05) Task scheduling [Sudoku]
W 5/18 (ppt, pdf, handout, last updated 2016/05/05) String matching [Word search]
W 5/25 (ppt, pdf, handout, last updated 2016/05/15) Sorting networks [Rearranging trains]
W 6/01 (ppt, pdf, handout, last updated 2016/05/26) Malfunction diagnosis [Logical reasoning]

Summary and References for the Ten Lectures

Online information access

A one-page summary for each of the ten lectures is included in the following paper; additional print and on-line references are given below.
Parhami, B., "A Puzzle-Based Seminar for Computer Engineering Freshmen," Computer Science Education, Vol. 18, No. 4, pp. 1-17, Dec. 2008. (PDF file)

Lecture 1: Easy, Hard, Impossible
Fun with Fibonacci numbers, by Gareth E. Roberts [Seminar slides]
Fibonacci numbers: family trees for bees (BP's Math+Fun page) [Word file]
More on Collatz's conjecture [Wikipedia article]
On the unprovability of Collatz's conjecture, by C. A. Feinstein [Article]

Lecture 2: Placement and Routing
Houses and utilities puzzle [The Math Forum @ Drexel]
Euler's Formula: VE + F = 2 [Twenty Proofs]

Lecture 3: Satisfiability
Making $5 Using 50 Coins [Ask Dr. Math]
Interactive game, by O. Roussel [The SAT Game]

Lecture 4: Cryptography
Web-based tutorial by P. Gutman [Cryptography and Security]
Web page maintained by T. Sale [The Enigma Cipher Machine]
The Enigma explained [12-minute video]
The fatal flaw in Enigma [11-minute video]
NSA Mathematician David Pery's 65-minute talk on Enigma (cryptography)
Khan Academy 10-minute video on the Enigma: Part of the module "Journey into Cryptography"

Lecture 5: Byzantine Generals
Saka, P., How to Think About Meaning, Springer, 2007
Resource Web page by A. Montalban and Y. Interian [Liars and Truth-Teller Puzzles] (Link broken?)

Lecture 6: Binary Search
Du, D.-Z., and F.K. Hwang, Combinatorial Group Testing and Its Applications, 2nd ed., World Scientific, 2000 (See Chapter 16, pp. 295-318)
Programs for solving counterfeit-coin problems [Coding resources and hints]

Lecture 7: Task Scheduling
Aaronson, L., "Sudoku Science: A Popular Puzzle Helps Researchers Dig into Deep Math," IEEE Spectrum, Vol. 43, No. 2, pp. 16-17, February 2006
Online Sudoku and other interesting logic puzzles [Logic Games Online]

Lecture 8: String Matching
Website with free online tools for creating word-search and other puzzles [Puzzlemaker]

Lecture 9: Sorting Networks
Hayes, B., "Trains of Thought: Computing with Locomotives and Box Cars Takes a One-Track Mind," American Scientist, Vol. 95, No. 2, pp. 108-113, March-April 2007 [Read on-line]
Parhami, B., Introduction to Parallel Processing: Algorithms and Architectures, Plenum Press, 1999 (See Chapter 7, pp. 129-147, for an introduction to sorting networks)

Lecture 10: Malfunction Diagnosis
Logic problems [Expand Your Mind] (Link broken?)
Somani, A.K., V.K.Agarwal, and D. Avis, "A Generalized Theory for System Level Diagnosis," IEEE Trans. Computers, Vol. 36, No. 5, pp. 538-546, May 1987

Additional Lecture Topics for Possible Future Use

The following additional topics are being considered for inclusion as future lecture topics:

Topic A: Computational Geometry
Puzzles based on visual tricks and optical illusions
Web site devoted to discrete and computational geometry [The Geometry Junkyard]

Topic B: Loss of Precision
Puzzles based on logical paradoxes and absurdities
Parhami, B., Computer Arithmetic: Algorithms and Hardware Designs, Oxford University Press, 2000 (See Problems 1.1-1.3)

Topic C: Secret Sharing
Puzzles based on anonymous complainers and whistle blowers
Shamir, A., "How to Share a Secret," Communications of the ACM, Vol. 22, No. 11, pp. 612-613, 1979
Secret sharing [Wikipedia article]

Topic D: Amdahl's Law
Puzzles on river and bridge crossings
Parhami, B., Computer Architecture: From Microprocessors to Supercomputers, Oxford University Press, 2005 (See Section 4.3)
Amdahl's law [Wikipedia article]

Topic E: Predicting the Future
Puzzles based on determining the next term in a series
Sloane, N.J.A., "Find the Next Term," J. Recreational Mathematics, Vol. 7, No. 2, p. 146, Spring 1974
Sloane, N.J.A., Online Encyclopedia of Integer Sequences [Access on-line] (Broken link?)

Topic F: Circuit Value Problem
Puzzles based on parallelization of hopelessly sequential problems
Greenlaw, R., H.J. Hoover, and W.L. Ruzzo, Limits to Parallel Computation: P-Completeness Theory, Oxford University Press, 1995 (See Section 4.2, pp. 75-76)

Topic G: Maps and Graphs
Puzzles based on map/graph coloring and graph properties
Feeman, T.G., Portraits of the Earth: A Mathematician Looks at Maps, American Mathematical Society, 2002

Topic H: Device Variability
Puzzles based on detecting differences in two nearly identical images
Tutorial sources about nanoelectronics device variability and design under variability to be located

Topic I: Cellular Automata
Conway's Game of Life
Wikipedia article on Conway's Game of Life
Martin Gardner's Scientific American article on Conway's Game of Life
Eric Weisstein's Treasure Trove of the Life Cellular Automaton

Student Attendance Record

Chart

In the following table, absence is marked with a "1" and presense with a "0". The first ten columns correspond to Lectures 1-10, the next column, Σ, is the total number of absences, and "Mrep" is the first few digits of the reversed Perm Number. For example, a student with the Perm Number 9876543 will have a Mrep code of 3, 34, 345, 3456, ... , depending on whether other students have Perm Numbers with the same ending.

1 2 3 4 5 6 7 8 9 0 Σ MrepNotes about attendance, oral final exam, and grade
0 0 0 0 0 0 0 0 0 1 1 013   Pass
0 0 0 0 0 0 0 0 0 1 1 019   Pass
1 0 0 0 1 0 0 0 0 0 2 021   Pass, based on oral final exam (F 6/3 12:00 PM)
0 0 0 0 0 0 0 0 0 1 1 022   Pass
0 0 0 0 0 0 0 0 0 1 1 03   Pass
0 0 0 0 0 0 0 0 0 1 1 04   Pass
0 0 0 0 0 0 0 0 0 0 0 05   Pass
0 0 0 0 0 0 0 0 0 1 1 08   Pass
0 0 0 0 0 0 0 0 0 0 0 09   Pass
0 0 0 0 1 0 0 0 0 0 1 100   Pass
0 0 0 0 0 1 0 0 0 0 1 106   Pass
0 0 0 0 0 0 0 0 0 1 1 11   Pass
0 0 0 0 0 0 0 0 1 0 1 13   Pass
0 0 0 0 0 0 0 0 0 1 1 14   Pass
0 0 0 0 0 0 0 0 0 0 0 16   Pass
0 0 0 0 0 0 0 0 0 1 1 183   Pass
0 0 0 0 0 0 0 0 0 0 0 187   Pass
0 0 0 1 0 0 0 0 0 0 1 20   Pass
0 0 0 1 0 0 0 0 0 0 1 23651   Pass
0 0 0 0 0 0 0 0 0 0 0 23658   Pass
0 0 0 0 0 0 0 0 0 0 0 24   Pass
0 0 0 0 0 0 0 0 0 1 1 25   Pass
0 0 0 0 0 0 0 0 0 1 1 2831   Pass
0 0 0 0 0 0 0 1 0 0 1 2836   Pass
0 0 0 0 0 0 0 0 0 1 1 29   Pass
0 0 0 0 0 0 0 1 0 0 1 313   Pass
0 0 0 0 0 0 0 0 0 1 1 315   Pass
0 0 0 0 0 0 0 0 0 0 0 35   Pass
0 0 0 0 0 0 0 0 0 1 1 36   Pass
0 0 0 0 0 0 0 0 0 0 0 37   Pass
0 0 0 0 0 0 0 0 0 1 1 41   Pass
1 0 0 0 0 0 0 0 0 0 1 43   Pass
0 0 0 0 0 0 0 0 0 0 0 46   Pass
0 0 0 0 0 1 0 0 0 0 1 480   Pass
1 0 0 1 0 0 0 0 0 0 2 489   Pass, based on oral final exam (R 6/2 4:00 PM)
0 0 0 0 0 0 0 1 0 0 1 503   Pass
0 0 0 0 0 0 1 0 0 0 1 506   Pass
0 0 0 0 0 0 0 0 0 1 1 52   Pass
0 0 0 0 0 0 0 0 0 1 1 532   Pass
0 0 0 0 0 0 0 0 0 1 1 533   Pass
1 0 0 0 0 0 0 0 0 0 1 590   Pass
0 0 0 0 0 0 0 0 0 1 1 594   Pass
0 0 0 0 0 0 0 0 0 0 0 597   Pass
0 0 0 0 0 0 0 0 0 0 0 603   Pass
0 0 0 0 0 0 0 1 0 0 1 606   Pass
0 0 0 0 0 0 0 0 0 0 0 62   Pass
1 0 0 0 0 0 0 0 0 0 1 63   Pass
0 1 1 0 0 0 0 0 0 0 2 670   Pass, based on oral final exam (R 6/2 3:30 PM)
0 0 0 1 0 0 0 0 0 0 1 6783   Pass
0 0 0 0 1 0 0 0 0 0 1 6786   Pass
0 0 0 0 0 1 0 0 0 0 1 679   Pass
0 0 0 0 0 0 1 0 0 0 1 713   Pass
0 0 0 0 0 0 0 1 0 0 1 716   Pass
0 0 0 0 0 0 0 0 0 1 1 72   Pass
0 0 0 0 0 0 0 0 0 1 1 73   Pass
0 0 0 0 0 0 0 0 0 0 0 743   Pass
0 0 1 0 0 0 0 0 0 0 1 746   Pass
0 0 0 0 0 0 0 0 0 1 1 749   Pass
0 0 0 0 0 0 0 0 0 0 0 75   Pass
0 0 0 0 0 0 0 1 0 0 1 78   Pass
0 0 0 0 0 0 0 0 0 0 0 80   Pass
0 0 0 0 0 0 0 0 0 0 0 81   Pass
0 0 0 0 0 0 0 0 0 0 0 82   Pass
0 0 0 0 0 0 0 0 0 1 1 850   Pass
0 0 0 0 0 0 0 0 1 0 1 856   Pass
0 0 0 1 0 0 0 0 0 0 1 858   Pass
0 0 0 0 0 0 0 0 0 1 1 861   Pass
0 0 0 0 0 0 0 0 0 1 1 869   Pass
0 0 0 0 0 0 0 0 0 0 0 87   Pass
0 0 0 0 0 0 0 0 0 1 1 885   Pass
0 0 0 0 0 0 0 0 0 1 1 889   Pass
0 0 0 0 0 0 0 0 0 0 0 900   Pass
0 0 0 0 0 0 1 0 0 0 1 904   Pass
0 0 0 0 0 0 0 0 0 1 1 91   Pass
0 0 1 0 1 1 1 1 1 1 7 9261   Not Pass
0 0 0 0 0 0 1 0 0 0 1 9269   Pass
0 0 0 0 0 0 0 0 0 0 0 95   Pass
0 0 0 0 0 0 0 0 0 0 0 96   Pass
0 0 0 0 0 0 0 0 0 1 1 97   Pass

Miscellaneous Information

Motivation: Whether they work in the industry or in academic research settings, computer engineers face many challenges in their quest to design or effectively employ faster, smaller, lower-energy, more reliable, and cost-effective systems. Most computer engineering students do not begin tackling such problems, and more generally are not exposed to specific challenges of their field of study, until they enroll in upper-division major courses. Meanwhile, during their freshman- and sophomore-year experiences with foundational courses in mathematics, physics, electrical circuits, and programming, they wonder about where they are headed and what types of problems they will encounter as working professionals. This course is intended to provide an introduction to day-to-day problems and research endeavors in computer engineering via their connections to familiar mathematical and logical puzzles.

Catalog entry: 1B. Ten Puzzling Problems in Computer Engineering. (1) PARHAMI. Seminar, 1 hour.
Prerequisite: Open to computer engineering majors only.
Repeat comments: Not open for credit for those who have taken ECE 1.
Gaining familiarity with, and motivation to study, the field of computer engineering, through puzzle-like problems that represent a range of challenges facing computer engineers in their daily problem-solving efforts and at the frontiers of research.

History: This 1-unit freshman seminar (offered for the first time in spring 2007) was proposed and developed by Professor Parhami. The main goal of the seminar is to expose students to challenging computer engineering problems, faced by practicing engineers and research scientists, in a motivating and entertaining way. The course is useful because CE students have very limited exposure to key concepts in their chosen major during their initial studies that involve mostly foundational, basic science, and general-education courses. Beginning with the academic year 2013-2014, the seminar was renamed from ECE 1 to ECE 1B to accommodate another freshman seminar, ECE 1A, that exposes students to a roadmap for their studies at UCSB, their career choices, and leading-edge research topics.
Offering of ECE 1B in spring 2016 (PDF file)
Offering of ECE 1B in spring 2015 (PDF file)
Offering of ECE 1B in spring 2014 (PDF file)
Offering of ECE 1 in spring 2013 (PDF file)
Offering of ECE 1 in spring 2012 (PDF file)
Offering of ECE 1 in spring 2011 (PDF file)
Offering of ECE 1 in spring 2010 (PDF file)
Offering of ECE 1 in spring 2009 (PDF file)
Offerings of ECE 1 in 2007 and 2008 (PDF file)