Prof. Mia Minnes | |
Office Hours | |
When: | Thursdays 10am-12pm and by appointment |
Where: | EBU3b (CSE) 4206 |
Contact | |
To contact the CSE20 instructional team, post a question on Piazza. |
TAs | |
Marco Carmosino | |
Julie Curtis | |
Hannah Chen | |
Yingyan Hua |
Tutors | |
Ryan Hill | |
Adithya Karavadi | |
Audrey Lee | |
Daniel Lee | |
Kyle Lee | |
Ben Levin | |
Ruogu Liu | |
Timothy Nguyen | |
Nan Shu | |
Edward Wong |
Contact | |
To contact the CSE20 instructional team, post a question on Piazza. | |
Office hours posted on Google calendar above. |
If you ever wondered "What sort of mathematics do I need for computer science?", this course will provide some of the answers. In particular, you will have the opportunity to learn basic concepts about algorithms, computer arithmetic, number systems, Boolean algebras, logic, proofs, program correctness, loop invariants, modular arithmetic, linear and partial orders, recurrences, and induction, among other things. These are some of the essential ingredients in the toolkit of every computer scientist.
Please click here for a detailed course description as given in the undergraduate course listing.
CSE 20 will teach you the basic tools for representing, analyzing, solving, and reasoning about computational problems. Specifically at the end of this course you will be able to:
Course grades will be computed using the following weights
Grading | |
Class Participation | 5% |
Homework | 30% |
In-class and final exams | 65% |
The 5% of the grade awarded for participation will consist of the higher score between the following two options:
Students should solve and write up all homework assignments in groups of size one to three. All names should appear on the assignment, and all will usually get the same score on the assignment. Members of a group are responsible for all parts of any assignment with their names on it. Problems should be solved by the group, not divided up between group members. Each member of a group should participate in discussions about each problem. Even proof-reading a solution of another student in your group counts as participation, but if there is a problem where you did not participate at all, even in verifying someone else’s solution, you should put a disclaimer to that effect next to your name on the assignment. You will not receive credit for these problems, but you also will not bear responsibility for them. If you are claiming credit for a problem, you do bear responsibility for the integrity of the group in obtaining the answer.
Homework must be typed and handed in via TurnItIn on Ted by the due date by a single representative of the group. Late homework is not accepted. TurnItIn requires several confirmation steps before a file is submitted. You will get an electronic receipt at the end of the process; this is the most reliable indicator that you have actually submitted the homework.
Students should not look for answers to homework problems in other (i.e., other than the course text, the optional text, and class notes) texts or other sources (e.g. wikipedia, Internet discussion groups ). However, students may use other texts or sources as a general study tool, and may accidentally see solutions to homework problems. In this case, the student should write up the final solution without consulting this text or source, and should give an acknowledgement of the text or source on the first page of their solutions. Such a solution may be given partial or no credit if it too closely follows the text. Not giving an acknowledgment is academic dishonesty, and will be treated as such. This rule applies to any material found on the internet, and to conversations with or written material from other people, whether or not they are students in the class. However, it does not apply to material in the class textbook, handed out in class or on the class web-page for this year, or to conversations with the instructor or teaching assistants.
There will be two in-class
The
There will be no make-up exams. The weighting of the exam scores will be
You must have a passing score on the final exam to pass the course.
We will compute a percentage score based on your coursework
and then assign a letter grade as follows:
  A     88.0 - 100%
  B     75.0 - 87.9%
  C     60.0 - 74.9%
  D     50.0 - 59.9%
  F     below 50.0%
If the class median on a test is below 75% (which is typical), then
we normalize all scores upward so that the median is 75%. We
normalize by adding a fixed number of points to every score.
Scores are not capped at 100%. If the median on an exam is above 75%, fantastic!
The Jacobs School of Engineering code of Academic Integrity is here. You should read it!
Key facts about academic integrity related to CSE 20:
The textbook for this course is
The full pdf of the book is available for free download from a UCSD internet connection at:
You may want to print out the relevant chapters for easy reference. A paperback version on this material is available from SpringerLink for about $25 (on-campus) or $40 (off-campus). Amazon sells the book for about $50.
Date | Time | Location | |
Lecture A00 | MWF | 8:00am-8:50am | WLH 2005 |
Lecture B00 | MWF | 9:00am-9:50am | WLH 2005 |
Discussion A01 | Wed | 7:00pm - 7:50pm | CENTR 115 |
Discussion B01 | Wed | 7:00pm - 7:50pm | PCYNH 106 |
Discussion A02 | Wed | 8:00pm - 8:50pm | CENTR 115 |
Discussion B02 | Wed | 8:00pm - 8:50pm | PCYNH 106 |
Final Exam A00 | 12/15/2014 | 8:00am-11:00am | CENTR 101 |
Final Exam B00 | 12/17/2014 | 8:00am-11:00am | GALBRAITH 242 |
Typically, homework is due via Ted by 5pm Monday evening. The weekly reading quizzes are due by 5pm Friday evening.
NOTE: Subject to change throughout the quarter.
Date | Day | Subject | Reference | Notes |
10/03/14 | Fri | Algorithms | JS 1.1-1.2 | |
10/06/14 | Mon | Algorithms | JS 1.1-1.2, 3.1 | HW0 due tonight |
10/08/14 | Wed | Number Systems | JS 1.3 | Discussion: RPM and Greedy Algorithm |
10/10/14 | Fri | Number Systems | JS 1.3 | |
10/13/14 | Mon | Number Systems | JS 1.3 | HW1 due tonight |
10/15/14 | Wed | Boolean connectives | JS 3.2 | Discussion: CNF, DNF |
10/17/14 | Fri | Boolean connectives | JS 3.2 | |
10/20/14 | Mon | Boolean connectives | JS 3.2 | HW2 due tonight |
10/22/14 | Wed | Predicates & Quantifiers | JS 3.3 | Discussion: Translation (propositional) |
10/24/14 | Fri | Sets and Sequences | JS 2.1, 2.2 | |
10/27/14 | Mon | Exam 1 | In-class test | |
10/29/14 | Wed | Sets & Sequences | JS 2.1, 2.2 | Discussion: Translation (predicate) |
10/31/14 | Fri | Proof strategies | JS 3.5 | |
11/03/14 | Mon | Proof strategies | JS 3.5 | HW3 due tonight |
11/05/14 | Wed | Proof strategies | JS 3.5 | Discussion: Proof examples |
11/07/14 | Fri | Proof strategies | JS 3.5 | |
11/10/14 | Mon | Recursive definitions | JS 3.6 | HW4 due tonight |
11/12/14 | Wed | Induction (algebraic) | JS 3.6 | Discussion: Loop invariants |
11/14/14 | Fri | Induction (algorithmic) | JS 3.6 | |
11/17/14 | Mon | Induction (strings and lists, strong) | JS 3.6 | HW5 due tonight |
11/19/14 | Wed | Binary relations and functions | JS 6.1 | Discussion: Induction on strings |
11/21/14 | Fri | Binary relations and functions | JS 6.1 | |
11/24/14 | Mon | Exam 2 | In-class test | |
11/26/14 | Wed | Bijections and counting | JS 6.1, 2 | Discussion: cancelled for Thanksgiving |
11/28/14 | Fri | Thanksgiving Holiday | No lecture | |
12/1/14 | Mon | Equivalence relations | JS 6.2 | HW6 due tomorrow |
12/3/14 | Wed | Modular arithmetic | JS 6.2 | Discussion: Equivalence Relations |
12/5/14 | Fri | Order relations | JS 6.3 | |
12/8/14 | Mon | Order relations | JS 6.3 | HW7 due tonight |
12/10/14 | Wed | Countable and uncountable | JS 2, 3.5.3 | Discussion: Orders |
12/12/14 | Fri | Review | Last Class | |
Mon or Wed | Final Exam |
Instruction | Latency | Throughput |
ADD/SUB -- add or subtract | 1 | 2.5 |
AND/OR/XOR -- bitwise logical operations | 1 | 2 |
SHL/SHR -- shift left or shift right | 1 | 1.7 |
MUL -- multiply | 11 | 0.5 |
DIV -- integer division | 80 | 1/34 |
Initial state: | 6 | Empty | Empty |
After 1 iteration: | 4 | 1 | Empty |
After 2 iterations: | 2 | 2 | Empty |
After 3 iterations: | 0 | 3 | Empty |
After 4 iterations: | 0 | 1 | 1 |