This is the link to the CSCI 204 main course website
WeChat Group For Bucknellians
A WeChat group has been created for Bucknellians who may need the tool to maintain communication with the Bucknell community. Please follow this link to the course Moodle page for instructions to join. All members of Bucknell community are welcome to join.
Homework
- Homework 1 Solution
- Homework 2 Revised deadline: Monday 03/23 Solution
Prof Talmage's notes on how to use scp and ssh
Notes
- All lecture notes are revised based on the work by many other instructors.
- The page is a skeleton. Contents will be added as the semester progresses.
Week Class Weekday Date Notes Code example(s) In-class exercises Videos Key words 1 1 Mon 01/13 Course introduction: [PPT, PDF] 00_dictionary_student.py 00_dictionary_sol.py 2 Wed 01/15 2D Array, Lists, User Module: [PPT, PDF] array.py, array_list.py, avggrades-student.py, avggrades.py, data.txt 3 Fri 01/17 Object-Oriented Design: [PPT, PDF] bird.py, bird_app.py, penguin.py, penguin_app.py vehicle.py, car.py, truck.py 2 4 Wed 01/22 Modules and Exceptions: [PPTX, PDF] Code examples limit_range_exceptions.py, limit_range_sol.py 6 Fri 01/24 Recursion I: [PPT, PDF] walk.py, method_one.py, method_two.py PythonRecursionWorkshop.pdf workshop-sol.py (minus binary search) 3 7 Mon 01/27 Recursion II: [PPT, PDF] Code examples PythonWorkshop-2.pdf solution.pdf isprime.py list_permutations.py 8 Wed 01/29 Algorithm analysis I: [PPT PDF] [code examples] 9 Fri 01/31 Algorithm analysis II: [PPT, PDF] [code examples] [worksheet.py, solution] 4 10 Mon 02/03 Intro to ADTs: [PPT, PDF] [code examples] activity.py test_bag_base.py 11 Wed 02/05 ADT practice: [PPT, PDF] code examples [test_rational.py gcd.py solution] 12 Fri 02/07 Singly linked lists : [PPT, PDF] userlist_incomplete.py test_list.py solution 5 13 Mon 02/10 Singly linked lists 2 : [PPT, PDF] usrlist2.py test_list.py 14 Wed 02/12 Doubly linked lists: [PPT, PDF] doubly_linked_lists.py, test_doubly_linked_list.py 15 Fri 02/14 Circular linked lists: [PPT PDF] circular_list_singly_linked.py test_singly_circular_list.py 6 16 Mon 02/17 Review for Midterm exam 1: [PPT PDF] starting code solution 17 Wed 02/19 Midterm exam 1 18 Fri 02/21 Stack intro: [PPT PDF] list_stack.py, pyliststack.py, test_stack.py Activity Solution 7 19 Mon 02/24 Stack applications: [PPT PDF] Activity Solution 20 Wed 02/26 Stack application workshop: [PPT PDF] Activity [PDF Word] Starting code and files Solution 21 Fri 02/28 Queue ADT basics [PPT PDF] [Activity Word PDF starting code solution] 8 22 Mon 03/02 Breadth-first-search with queues [PPT PDF] bfs.py dfs.py pylistqueue.py Activity [PDF Word See solution for hw2.] 22a Wed 03/04 Circular queues [PPT PDF] Code example Activity: [PDF Word] Solution: [PDF Word] 23 Fri 03/06 Priority queues [PPT PDF] Activity: PDF Word Starting code Solution Mon-Fri 03/09-03/13 Spring break Mon-Wed 03/16-03/18 Emergency break due to Covid-19 9 24 Fri 03/20 Clock-driven simulation [PPT PDF] clock drive simulation source code Video 1
Video 2simulation, priority queue 25 Mon 03/23 Priority Queue Exercise: no slides Extra activity [Word PDF] for who completed priority queue activity (Activity 23) Video priority queue, linked list 26 Wed 03/25 Introduction to binary trees [PPT PDF] Activity [Word PDF   Solution] Video (1 of 2)
Video (2 of 2)binary tree introduction, properties 10 27 Fri 03/27 Binary tree implementation [PPT PDF] Binary tree code Activity [Word PDF]
solutionVideo
binary tree implementation, linked node 28 Mod 03/30 Expression tree applications [PPT PDF] Expression tree code Activity [Word PDF]
solutionVideo (1 of 2)
Video (2 of 2)binary tree application, expression tree 29 Wed 04/01 Introduciton to heap [PPT PDF] Activity [Word PDF]
solutionVideo
Activity demoheap, max-heap, min-heap 11 30 Fri 04/03 Heap operations [PPT PDF] listheap_incomp.py testheap.py Activity [Word PDF heap_sift_down.py] Video 1 of 2
Video 2 of 2heap operations, sift-down, sift-up 31 Mon 04/06 Binary search tree introduction [PPT PDF] BST implementation Activity [Word PDF solution] Video 1 of 2
Video 2 of 2binary search tree, insert, search 32 Wed 04/08 Midterm Exam 2 available on course Moodle 11 33 Fri 04/10 Search I [PPT PDF] listsearcher.py test_search.py Activity [Word PDF] solution Video binary search, linear search, complexity 34 Mon 04/13 Sorting [PPTX PDF] code Activity [Word PDF] solution Video bubble sort, selection sort 35 Wed 04/15 Sorting [PPTX PDF] code Activity [Word PDF] solution Video insertion sort, complexity of sorting 12 36 Fri 04/17 Quicksort [PPT PDF] code Video quicksort, in-place-sort, O(n log n) 37 Mon 04/20 Mergesort [PPT PDF] code Video mergesort, comparison based sort 14 38 Wed 04/22 Hash Map introduction [PPT PDF] Activity [Word PDF] Video 1 of 2
Video 2 of 2hashmap 39 Fri 04/24 Hash Map implementation [PPT PDF] code Activity [Word PDF] Video 1 of 2
Video 2 of 2HashMap implementations, applications 40 Mon 04/27 Course summary [PPT PDF]