From charlesreid1

No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Course Load=
Staff classes:
Staff classes:
* ENGR 116 (5) - Engineering Design and Creativity - vectors and calculus to statics and dynamics, T Th 1-3:20 pm
* ENGR 116 (5) - Engineering Design and Creativity - vectors and calculus to statics and dynamics, T Th 1-3:20 pm
Line 6: Line 8:
* CSC 143 (5) - Computer Programming II - online
* CSC 143 (5) - Computer Programming II - online


==Engineering Design==
[[CSC 142 Course Notes]]
 
[[CSC 143 Course Notes]]
 
=UW Computer Science Course Summary=
 
==Syllabus==
 
Textbook: Building Java Programs, 4th edition, Reges & Stepp, required.
 
Course Overview: This course provides an introduction to computer science using the Java programming language.  CSE142 is primarily a programming course, but the focus is on the problem solving techniques common in computer science.
 
Lecture Policy: If it is important to you to use your laptop during lecture, email Stuart to describe your situation and request an exception.  TAs will periodically enforce this policy during lecture.
 
Discussion Sections: You will be expected to participate in a weekly 50-minute discussion section.  The TA who runs your discussion section will grade your homework assignments.  In section we will answer questions, go over common errors in homework solutions and discuss sample problems in more detail than we can in lecture.
 
Each week we will assign a written homework to be turned in and discussed in section.  These are meant as “warm up” problems to get you thinking about the topics we cover that week.  It will be graded for effort, not for whether or not you have the right answers.  You will receive 3 homework points for each written assignment you bring to section, up to a maximum of 20 points.  The points are for the combination of completing the assignment and attending section.  You won’t get points for just attending section or just doing the written part.
 
Computer Access/Software: The department operates an Introductory Programming Lab (IPL) that is located on the third floor of Mary Gates Hall.  TAs will be available at the lab to help students with problems.  You can use any Java environment you want although the recommended software for this course is the Java Development Kit (JDK) version 8 and the jGRASP editor.  More information can be found on the class web page under the “working at home” link.
 
Course Web Page: link
 
Grading: Programming assignments, two exams.
* 40% homework
* 20% midterm
* 40% final
 
The exams will be closed-book and closed-note.
 
 
 
==CSE 142==
 
Link: https://courses.cs.washington.edu/courses/cse142/16sp/index.shtml
 
===Assignments===
 
Assignment 1: Cumulative song, printing lyrics https://courses.cs.washington.edu/courses/cse142/16sp/handouts/02.html
 
Assignment 2: ASCII art rocket ship, loops, static methods https://courses.cs.washington.edu/courses/cse142/16sp/handouts/03.html
 
Assignment 3: Cafe wall, using loops, value parameters, and graphics https://courses.cs.washington.edu/courses/cse142/16sp/handouts/04.html
 
Assignment 4: Admissions, if else, calculations, return values https://courses.cs.washington.edu/courses/cse142/16sp/handouts/05.html
 
Assignment 5: Guessing game, while loops, random numbers, user input https://courses.cs.washington.edu/courses/cse142/16sp/handouts/06.html
 
Assignment 6: Baby names, reading input files, graphing a quantity https://courses.cs.washington.edu/courses/cse142/16sp/handouts/11.html
 
Assignment 7: Personality test, arrays, external files, input data https://courses.cs.washington.edu/courses/cse142/16sp/handouts/14.html
 
Assignment 8: Simulation of critters, defining class within framework, object oriented programming https://courses.cs.washington.edu/courses/cse142/16sp/handouts/16.html
 
 
 
==CSE 143==
 
Link: http://courses.cs.washington.edu/courses/cse143/16sp/
 
===Assignments===
 
Assignment 1: Letter Inventory
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/1/spec.pdf
* arrays and classes
* alphabet/letters histogram
* iterative refinement
* students provided with iterative, step-wise development strategy
* encapsulation and scope, private, avoiding redundancy, loops, indentation, variable names
 
Assignment 2: HTML Validator
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/2/spec.pdf
* Stack and Queue collections
* HTML tags: self-closing tags, properly-ordered nesting of tags
* Instructor-provided code reads HTML pages from files and breaks them apart into tags for you
* You see whether tags match correctly, using API: element()=>"p", isOpenTag=>T/F, isSelfClosing=>T/F
* Getting used to using other people's code
* Thinking about corner cases
 
Assignment 3: Assassin
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/3/spec.pdf
* Game played on college campuses: one person targets another, each person has one person they're targeting, don't know who's targeting them
* Circular chain of targets: kill ring, circular, bottom links back to top
* When you eliminate a person from the kill ring, you take on their target (move up the chain)
* Null reference at end of linked list
* Utilizing linked list and nodes appropriately
* Properly documented, return conditions, exceptions, reference solution is 130 lines (70 of those are comments)
 
Assignment 4: Grammar Solver
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/4/spec.pdf
* Symbols in grammar, grammar describes syntax and symbols of language
* Backus-Naur Form (BNF) = language grammar representation
* Required to implement GrammarSolver class with contains(), getSymbols(), and generate() methods
* Generate method is hardest, store contents of Grammar in map, use string split method
 
Assignment 5: Evil hangman
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/5/spec.pdf
* Java Collections classes
* User has N guesses to get the answer, computer keeps track of possible solutions, number of guesses, guessed information
* HangmanManager
* Set words()
* int guessesLeft()
* charSet guesses()
* String pattern()
* int record()
* Record method is hardest, write last.
* Evil because computer is not really picking a word until last minute
 
Assignment 5 Bonus
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/5/spec2.pdf
*  how to improve the HangmanManger class and how to use inheritance to create variation
* wins when down to one guess
* modify methods to protect data
 
Assignment 6: Anagrams
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/6/spec.pdf
* Recursive backtracking
* Use a dictionary to find all anagrams that can be formed from a particular string
 
Assignment 7: 20 Questions
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/7/spec.pdf
* binary tree
* recursion
 
Assignment 8: Huffman Coding
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/8/spec.pdf
* algorithm developed at MIT in 1952 for compressing text file
* Encoding and decoding, binary to ascii
* Huffman tree
* Encode a secret message, grade based on whether grader can decode it
 
Assignment 8 Bonus
* http://courses.cs.washington.edu/courses/cse143/16sp/homework/8/bonus.pdf


==Computer Programming 1==
=Flags=


==Computer Programming 2==
[[Category:July 2016]]

Latest revision as of 04:30, 27 July 2016

Course Load

Staff classes:

  • ENGR 116 (5) - Engineering Design and Creativity - vectors and calculus to statics and dynamics, T Th 1-3:20 pm
  • CSC 100 (5) - Beginning Computers - Daily 9-9:50 am
  • CSC 100 (5) - Beginning Computers - online
  • CSC 142 (5) - Computer Programming I - covers objects, messages, expressions, statements, methods, classes, conditionals, iterations, arrays and collections, M W 11-12:50 pm
  • CSC 143 (5) - Computer Programming II - online

CSC 142 Course Notes

CSC 143 Course Notes

UW Computer Science Course Summary

Syllabus

Textbook: Building Java Programs, 4th edition, Reges & Stepp, required.

Course Overview: This course provides an introduction to computer science using the Java programming language. CSE142 is primarily a programming course, but the focus is on the problem solving techniques common in computer science.

Lecture Policy: If it is important to you to use your laptop during lecture, email Stuart to describe your situation and request an exception. TAs will periodically enforce this policy during lecture.

Discussion Sections: You will be expected to participate in a weekly 50-minute discussion section. The TA who runs your discussion section will grade your homework assignments. In section we will answer questions, go over common errors in homework solutions and discuss sample problems in more detail than we can in lecture.

Each week we will assign a written homework to be turned in and discussed in section. These are meant as “warm up” problems to get you thinking about the topics we cover that week. It will be graded for effort, not for whether or not you have the right answers. You will receive 3 homework points for each written assignment you bring to section, up to a maximum of 20 points. The points are for the combination of completing the assignment and attending section. You won’t get points for just attending section or just doing the written part.

Computer Access/Software: The department operates an Introductory Programming Lab (IPL) that is located on the third floor of Mary Gates Hall. TAs will be available at the lab to help students with problems. You can use any Java environment you want although the recommended software for this course is the Java Development Kit (JDK) version 8 and the jGRASP editor. More information can be found on the class web page under the “working at home” link.

Course Web Page: link

Grading: Programming assignments, two exams.

  • 40% homework
  • 20% midterm
  • 40% final

The exams will be closed-book and closed-note.


CSE 142

Link: https://courses.cs.washington.edu/courses/cse142/16sp/index.shtml

Assignments

Assignment 1: Cumulative song, printing lyrics https://courses.cs.washington.edu/courses/cse142/16sp/handouts/02.html

Assignment 2: ASCII art rocket ship, loops, static methods https://courses.cs.washington.edu/courses/cse142/16sp/handouts/03.html

Assignment 3: Cafe wall, using loops, value parameters, and graphics https://courses.cs.washington.edu/courses/cse142/16sp/handouts/04.html

Assignment 4: Admissions, if else, calculations, return values https://courses.cs.washington.edu/courses/cse142/16sp/handouts/05.html

Assignment 5: Guessing game, while loops, random numbers, user input https://courses.cs.washington.edu/courses/cse142/16sp/handouts/06.html

Assignment 6: Baby names, reading input files, graphing a quantity https://courses.cs.washington.edu/courses/cse142/16sp/handouts/11.html

Assignment 7: Personality test, arrays, external files, input data https://courses.cs.washington.edu/courses/cse142/16sp/handouts/14.html

Assignment 8: Simulation of critters, defining class within framework, object oriented programming https://courses.cs.washington.edu/courses/cse142/16sp/handouts/16.html


CSE 143

Link: http://courses.cs.washington.edu/courses/cse143/16sp/

Assignments

Assignment 1: Letter Inventory

Assignment 2: HTML Validator

  • http://courses.cs.washington.edu/courses/cse143/16sp/homework/2/spec.pdf
  • Stack and Queue collections
  • HTML tags: self-closing tags, properly-ordered nesting of tags
  • Instructor-provided code reads HTML pages from files and breaks them apart into tags for you
  • You see whether tags match correctly, using API: element()=>"p", isOpenTag=>T/F, isSelfClosing=>T/F
  • Getting used to using other people's code
  • Thinking about corner cases

Assignment 3: Assassin

  • http://courses.cs.washington.edu/courses/cse143/16sp/homework/3/spec.pdf
  • Game played on college campuses: one person targets another, each person has one person they're targeting, don't know who's targeting them
  • Circular chain of targets: kill ring, circular, bottom links back to top
  • When you eliminate a person from the kill ring, you take on their target (move up the chain)
  • Null reference at end of linked list
  • Utilizing linked list and nodes appropriately
  • Properly documented, return conditions, exceptions, reference solution is 130 lines (70 of those are comments)

Assignment 4: Grammar Solver

  • http://courses.cs.washington.edu/courses/cse143/16sp/homework/4/spec.pdf
  • Symbols in grammar, grammar describes syntax and symbols of language
  • Backus-Naur Form (BNF) = language grammar representation
  • Required to implement GrammarSolver class with contains(), getSymbols(), and generate() methods
  • Generate method is hardest, store contents of Grammar in map, use string split method

Assignment 5: Evil hangman

  • http://courses.cs.washington.edu/courses/cse143/16sp/homework/5/spec.pdf
  • Java Collections classes
  • User has N guesses to get the answer, computer keeps track of possible solutions, number of guesses, guessed information
  • HangmanManager
  • Set words()
  • int guessesLeft()
  • charSet guesses()
  • String pattern()
  • int record()
  • Record method is hardest, write last.
  • Evil because computer is not really picking a word until last minute

Assignment 5 Bonus

Assignment 6: Anagrams

Assignment 7: 20 Questions

Assignment 8: Huffman Coding

Assignment 8 Bonus

Flags