Instructor: | Dr. Gara Pruesse |
Office: | Bldg 315, Room 218 |
Phone: | 753-3245 Local 2337 |
email: | Gara [dot] Pruesse [at] viu [dot] ca |
Office Hours: | Tue 3:00-4:00, Thur 1:30-2:30 |
Text: | There is no required text for this course. Web materials will be posted to this course outline. |
"Useful links" may be added as the course progresses, at the discretion of the instructor. The "useful links" will not be a substitute for class notes. Class notes will not be made available.
Week Topic Useful links Homework/Required Reading/Viewing Lab Link Jan 9, 11 What is computer science? Overview of the course. Defn of Algorithm Boolean Algebra What Are Algorithms (video) Lab 1 Jan 16, 18 Digital Circuits, DNF, Karnaugh Maps CNF, Karnaugh Maps Logic Operations Logisim Karnaugh Rules Digital Logic, 7-segment display, and Karnaugh Maps (U. Ottawa)
From Page 12 on of Designing Logic Circuits is good coverage of the material. Note they use the notation for logic where "AND" is denoted as multiplication, "OR" with sum, and "NOT" is overline. Hence AB + C is the same as A ∧ B ∨ CAssignment 1; partial Solutions 1. As an exercise, do Last Year's Assignment. Lab 2: Circuits Jan 23, 25 Representing Data Wikipedia on Floating Point, BCD, One's and Two's Complement Tools for Learning: BBC serves up course material for high-school students in the UK. They cover some of the material in the course, though not to great depth. The material and the self-tests make a nice, gentle review of some topics. Note: they use the term "denary" for base-10.
Review the following material and do the self-tests at BBC Bitesize:
Binary Numbers and Binary Addition
Hexadecimal (skip the material on colour)Lab 3: 7 Segment Display Jan 30, Feb 1 Computer Architecture MARIE cpu simulator manual
A lecture on MARIE Assembly language
Examples of MARIE code
A lecture on MARIE Architecture
Opcodes
Architecture Chapter from the developers of MARIE
Lab 4: Computer Architecture 1 Feb 6, 8 Computer Architecture: microcode implementation of MARIE instruction set; Intro to Operating Systems Unix Family Tree (jpg); Linux Command Cheat Sheet; Dave Wessels Guide to Unix MARIE instruction set cheat sheet Lab 5: MARIE program (computer architecture II) Feb 13, 15 Operating Systems: Linux Android is based on Linux; Operating Systems notes Lab 6: Linux 1 Feb 20, 22 Prolog intro; midterm review Sample Midterm
Prolog WikibookProlog Family Feb 27, Mar 1 Study Days -- No Classes Mar 6, 8 Midterm; Logic Programming SWI-Prolog documentation
Learn Prolog Now!
Prolog Lists examplesProlog Lists Mar 13, 15 Finite Automata Perlis Epigrams Mar 20, 22 Finite Automata, Regular Expressions Why regular expressions are useful, Moreno's Automata Notes; Wikiversity; See page 556 of these notes for regular expression notes. Lab 9: Prolog FA Mar 27, 29 Church-Turing thesis; pseudocode; Algorithm Analysis Assignment 2 Apr 3, 5 Algorithm analysis: Θ, O, Ω Apr 10, 12 Algorithm Analysis; Review for Exam Georgy Gimel'farb slides (pdf), Cathy at Seneca book (html) (section on Intro to Algorithms Analysis, in 4 parts, is relevant) loop analysis 16n2+5n ∈ O(n2/2 - 1). Finite Automata and Regular Expressions Practice for Quiz in Tutorial; Practice Final Solutions to FA and Regular Expression Practice Problems Correction: the DFA for 1(a) should have a transition on a b from state 1 to state 3, and a loop on b at state 3.
Although this is not explicitly a programming course, some assignments will involve programming in C++, Prolog or a "demo" assembly language. Students are expected to know all of the required C++, but other languages will be discussed in class.
All assignments, whether programming or not, must be submitted on paper.
Links to the assignments will appear on the CSCI 162 Assignments web page
when they are available.
Each assignment will have a specified due date, and any assignments handed in after the due date will not be accepted unless there is a valid reason for the assignment being late.
Participation in the labs is mandatory.
Midterm
There will be one midterm on March 6. It will count for a maximum
of 25 percent of your final grade. The midterm will include material covered
up to and including the class on Feb 14.
A+ >= 90.0 | A >= 85.0 | A- >= 80.0 | |
B+ >= 76.0 | B >= 72.0 | B- >= 68.0 | |
C+ >= 64.0 | C >= 60.0 | C- >= 55.0 | D >= 50.0 |
F otherwise |