Difference between revisions of "CSC212 Schedule 2014"

From dftwiki3
Jump to: navigation, search
( )
( )
 
(6 intermediate revisions by the same user not shown)
Line 41: Line 41:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': beowulf2, emacs, [[CSC212 Lab 1 2014 | Lab 1]]  
 
|width="60%"| '''Topics''': beowulf2, emacs, [[CSC212 Lab 1 2014 | Lab 1]]  
Line 77: Line 77:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': Java, Classes, Objects, Arrays
 
|width="60%"| '''Topics''': Java, Classes, Objects, Arrays
Line 128: Line 128:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible  mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible  " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': Data Structures, first look at lists, Javadocs
 
|width="60%"| '''Topics''': Data Structures, first look at lists, Javadocs
Line 173: Line 173:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible" style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': List of pairs, Exceptions,
 
|width="60%"| '''Topics''': List of pairs, Exceptions,
Line 221: Line 221:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': Vectors, Time Complexity, Linked Lists, Queues and Stacks
 
|width="60%"| '''Topics''': Vectors, Time Complexity, Linked Lists, Queues and Stacks
Line 267: Line 267:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': RPN &amp; stacks, Eclipse, Complexity
 
|width="60%"| '''Topics''': RPN &amp; stacks, Eclipse, Complexity
Line 309: Line 309:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed " style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': Programming the Tcsh, Midterm
 
|width="60%"| '''Topics''': Programming the Tcsh, Midterm
Line 340: Line 340:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': Recursive Algorithms, 2D Maze, N-Queens
 
|width="60%"| '''Topics''': Recursive Algorithms, 2D Maze, N-Queens
Line 386: Line 386:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics:''' Trees, BSTs, Heaps
 
|width="60%"| '''Topics:''' Trees, BSTs, Heaps
Line 430: Line 430:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': BSTs, Heaps  
 
|width="60%"| '''Topics''': BSTs, Heaps  
Line 466: Line 466:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''' Regular Expressions, Sorting, Graphs
 
|width="60%"| '''Topics''' Regular Expressions, Sorting, Graphs
Line 507: Line 507:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed " style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''' DFS, BFS, Dijkstra, Floyd
 
|width="60%"| '''Topics''' DFS, BFS, Dijkstra, Floyd
Line 546: Line 546:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible mw-collapsed" style="width:100%" border="1"
+
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''' Graphs, Union-Find
 
|width="60%"| '''Topics''' Graphs, Union-Find
Line 582: Line 582:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 14'''  Dec 2, 4. GUI &amp;  Model-View-Controller
+
|width="45%"|'''Week 14'''  Dec 2, 4.  
 
|width="20%"| '''&nbsp;'''  
 
|width="20%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
Line 590: Line 590:
 
::{| class="mw-collapsible " style="width:100%" border="1"
 
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics'''  
+
|width="60%"| '''Topics''' GUI &amp;  Model-View-Controller
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
Line 632: Line 632:
 
::{| class="mw-collapsible " style="width:100%" border="1"
 
::{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics'''  
+
|width="60%"| '''Topics''' HashMaps &amp; HashSets
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
Line 644: Line 644:
 
* '''Thursday, 12/11'''
 
* '''Thursday, 12/11'''
 
----
 
----
:* TBA
+
:* Huffman Encoding ([[CSC212 Huffman Ecoding in Java|Code]])
 +
:* ([http://cs.smith.edu/dftwiki/media/CSC212_IntroToHuffmanCompression.pdf Class Notes])
 
|
 
|
 
* Lab = Work on final project!
 
* Lab = Work on final project!
* [[CSC 212 Final Exam 2014| Final Exam]]
+
* [[CSC212 Final Exam 2014| Final Exam]]
 
|
 
|
 
* Chapter 10 in Drozdek on HashSets and HashMaps
 
* Chapter 10 in Drozdek on HashSets and HashMaps
Line 680: Line 681:
 
** 6 degrees,  dot definition with names of stars  
 
** 6 degrees,  dot definition with names of stars  
 
** generate huge 1010100 type adjacency matrix.  Ask questions about properties
 
** generate huge 1010100 type adjacency matrix.  Ask questions about properties
**  
+
** [[CSC212 Final Exam 2014| Final Exam]]
 
</onlydft>
 
</onlydft>
 
<br />
 
<br />

Latest revision as of 12:47, 11 December 2014

TA Hours | WHITE





Prof and TAs

Dominique Thiébaut email
Dept. Computer Science
Ford Hall, 356.
Telephone: 3854
Office hours: M4:30-5:30, T4-5, W1-4.

 

Teaching Assistants

  • Wen, Xuan,
  • Upreti, Angela, Thursday afternoon lab
  • Galen Long
  • Pratistha Battharai



To see when and where TAs are available this week, click here.


Weekly Schedule



 


Week 1 Sept 4    


Topics: beowulf2, emacs, Lab 1 Lab/Hw Reading
  • The use of software tools/technology in the movie The Social Network.

This section is only visible to computers located at Smith College

  • Introduction to the tools used this semester:
    • beowulf2
    • ssh
    • emacs
    • javac compiler
  • Hands on experience with the tools: Lab 1

Lab 1

  • Read Chapter 1 in HF Java. Learn about the idea of a Virtual Machine, of types, of computation with Java. The idea of a Java program being a class with at least one method called main().




 


Week 2 Sept 9, 11    


Topics: Java, Classes, Objects, Arrays Lab/Hw Reading
  • Tuesday 9/9

    • 10 minutes in the Linux World
      • ssh to lecturne
      • the touch command
      • review cat, ls, rm
      • new: mkdir, w


  • Thursday 9/11



    • Hands on arrays, classes and objects in Java: Lab 3
VideoLogo.png




 


Week 3 Sept 16, 18    


Topics: Data Structures, first look at lists, Javadocs Lab/Hw Reading
  • Tuesday, Sept. 16


  • Thursday, Sept. 18

VideoLogo.png
  • Review of the code.
  • Add an index( n ) and a rindex( n ) methods. index() returns the index of the leftmost occurrence of an integer n in the list. rindex() returns the rightmost index. Both return -1 if not found.
  • Private versus Public
  • Mutators & Accessors
  • Java docs. Formatting a program for javadoc. Generating the javadoc for a program.
  • Chapters 2 to 6 in Head First Java.
  • A good reference on Javadoc can be found on Oracle's Web Site (Oracle now owns Java).




 


Week 4 Sept 23, 25    


Topics: List of pairs, Exceptions, Lab/Hw Reading
  • Tuesday, Sept. 23


  • Thursday, Sept. 25

VideoLogo.png


VideoLogo.png
  • Section 1.5 in Drozdek.
  • You may want to start reading ahead Chapter 3 in Drozdek.




 


Week 5 Sept 30, Oct 2    


Topics: Vectors, Time Complexity, Linked Lists, Queues and Stacks Lab/Hw Reading

Tuesday, Sept. 30


  • Pep talk about good approaches to programming
  • 10 minutes of Linux:
  • Redirection with < and >
  • Review of Vectors
  • A first approach to understanding time complexity

Thursday, Oct. 2nd


  • Linked Lists (video of basic operations)
VideoLogo.png
  • Chapter 3 in Drozdek




 


Week 6 Oct 7, 9    


Topics: RPN & stacks, Eclipse, Complexity Lab/Hw Reading

Tuesday, Oct 7



Thursday, Oct 9


  • Chapter 2 in Drozdek
  • A video class on algorithmic complexity from CoderIsland.com (first 35 min.):
    VideoLogo.png



 


Week 7 Fall Break, Oct 16=Midterm Exam    


Topics: Programming the Tcsh, Midterm Lab/Hw Reading
  • Thursday

  • Lab #8 (No submission to Moodle required this week)



 


Week 8 Oct 21, 23    


Topics: Recursive Algorithms, 2D Maze, N-Queens Lab/Hw Reading
  • Tuesday, Oct. 21

  • Evaluating the amortized time complexity of the insert operation in a vector or ArrayList
  • Recursive Algorithms
  • Basics of Recursion
  • Examples
  • Evaluating the time complexity of binary search: average case, best case, worst case.

  • Thursday, Oct. 23

  • Recursive RPN Evaluator (will be fully developed in lab)
  • Evaluating the time complexity of factorial
  • Revisiting the recursive Fibonacci solution: Removing the tail recursion. How much does it help?
  • Exploring a 2D Maze
  • The N-Queens problem



 


Week 9 Oct 28, 30    


Topics: Trees, BSTs, Heaps Lab/Hw Reading
  • Tuesday Oct. 28


  • Thursday Oct. 30

  • Continue with BSTs
  • BreadthFirst Search
  • Depth-First Search: inOrder, preOrder, postOrder
  • Insertion in a BST
  • Deletion from a BST
  • Balancing a Tree (the whole tree, not adaptively)
  • (Class Notes 2: BSTs)
  • Chapter 6 in Drozdek.



 


Week 10 Nov 4 (Otelia Cromwell)    


Topics: BSTs, Heaps Lab/Hw Reading
  • Tuesday, Nov 4

  • Complexity of BST operations
  • Self-Balancing Trees
  • Heaps
  • (Class Notes)

  • Thursday, Nov 6: Otelia Cromwell Day
  • No class
  • No lab, but you can do an optional lab on your own... See Lab 11 for details.



 


Week 11 Nov 11, 13    


Topics Regular Expressions, Sorting, Graphs Lab/Hw Reading
  • Tuesday, Nov. 11


  • Thursday, Nov. 13

  • Chapter 9 in Drozdek, on Sorting.



 


Week 12 Nov 18, 20    


Topics DFS, BFS, Dijkstra, Floyd Lab/Hw Reading
  • Tuesday


  • Thursday

  • Chapter 8 in Drozdek



 


Week 13 Nov 25, Thanksgiving    


Topics Graphs, Union-Find Lab/Hw Reading
  • Tuesday, 11/25

  • A bit of Hollywood culture...
  • More graphs!
  • Detecting Cycles
  • in undirected graphs
  • in directed graphs
  • Union-Find

  • Thursday, 11/27

  • Chapter 8 in Drozdek



 


Week 14 Dec 2, 4.    


Topics GUI & Model-View-Controller Lab/Hw Reading
  • Tuesday, Dec. 2

  • Finish Lab 14 (45 minutes)
  • Graphical User Interface (GUI)

  • Thursday, Dec. 4



 


Week 15 Dec 9, 11    


Topics HashMaps & HashSets Lab/Hw Reading
  • Tuesday, 12/9


  • Thursday, 12/11

  • Chapter 10 in Drozdek on HashSets and HashMaps



Links and Resources


Java Programs



Java Documentation



Algorithm Visualization



Processing and Java






...