第 3 页
Announcements - Cookies!! - HW8 due Friday 12/1 - Proj3 due Wednesday 12/6 - Tentative plan for dead week: - No discussion - OH as normal - Lab will be converted to topic based review
Announcements - Cookies!! - HW8 due Friday 12/1 - Proj3 due Wednesday 12/6 - Tentative plan for dead week: - No discussion - OH as normal - Lab will be converted to topic based review
Weighted Quick Union with Path Compression - Used to represent connectivity between items - Each item belongs to its own set, “union” the items together by connecting the sets together - Sets will have a tree like structure - Optimizations: - Union by weight: connect the root of the “lighter” set to the root of the “heavier” set (determined by number of nodes in the set) - Path compression: when you “find” a node, compress the node and the path to the node by connecting it to the root of the set - 61BL Lab about Disjoint Sets
HashMaps - Use an array to represent your data - For each key-value pair, assign each key a “hash code” - mod (%) the hash code by the length of the array (this gives you a number between 0 and array.length - 1), use this as the index! - Be careful about negative numbers when modding! - N = num elements, M = num buckets, C = some constant - If N/M > C, then increase M! - N/M is called the load factor - If we have multiple elements that go to same place in the array, usually we will keep track of a list - This is called external chaining - What is the runtime of .contains and .insert?
Course Overview (Personal experiences) - CS61C: Machine Structures - CS170: Algorithms - C, assembly language - Learn to analyze runtimes, write - Learn about how computers work! algorithms - Caching, MapReduce, parallelism - Problem set every week, end of - CS70: Discrete Math/Probability semester project; generally seen as “must take” - Proofs for things we’ve seen so far - DP, LP, graphs, etc. - Problem set every week - Stable marriage, modular - CS188: Artificial Intelligence arithmetic, graph theory, etc. - Learn AI alg and apply to Pacman - CS186: Databases projects - One of easier upper divs, though exams - Learn SQL and how databases keep can be tough track of all your data, Java - “Chill”, though exam was tough this - CS168: Networking time around…, some projects - Learn about the Internet and design - Guest speakers from the industry - Seems to be offered in the Fall, Scott Shenker usually teaches and helped design Internet
Course Overviews (16x) - CS160: UI/UX - Good for learning basics of UI design and conducting user studies - Usually taught in Android and project heavy - CS161: Security - Practical programming course; learn how to keep your computer secure - CS162: Operating Systems - Learn about processes, threads, concurrency, file systems, distributed systems - Project based with the same group of 4 - Essential to understand your computer and how to code efficiently - CS164: Compilers - Learn about programming languages and how they’re compiled - Good if you thought the Scheme project was interesting - Project heavy, taking with Hilfinger is a rite of passage Credit to Michelle Tian
Course Overviews (16x) cont. - CS169: Software Engineering - Learn Ruby on Rails to build app - Good for if you want experience to help get an internship Credit to Michelle Tian
Course Overview (17x) - CS172: Computability and Complexity - CS174: Combinatorics and Discrete Probability - CS176: Algorithms in Computational Biology Credit to Michelle Tian
Course Overview (18x) - CS184: Graphics - 3D modeling, good for animation - Math and project heavy - CS189: Machine Learning - ML concepts and prove/code equations - See ML applications in Netflix recommendations, digit recognition, etc. - Math heavy and high workload Credit to Michelle Tian
Course Overview (other) - CS194-26: Computational Photography - Special interest course - Blending two images, automatic panorama alignment, morphing faces together - Only in the Fall, mostly seniors, fun! - https://inst.eecs.berkeley.edu/~cs194-26/fa16/upload/files/proj4g/cs194-26-abt/ - https://inst.eecs.berkeley.edu/~cs194-26/fa16/upload/files/proj2/cs194-26-aar/ - Find the 18 art puns in the extra section - EE126: Probability and Random Processes - Learn more about probability - High workload (?) - EE127: Optimization Models in Engineering - Optimization and their applications in ML, statistics, etc. - High workload (?) - Tip: Join EECS 101 Piazza! - Course recommendations, student experiences, instructor input, etc. - https://piazza.com/class/hyq0br1u3kx7dg Credit to Michelle Tian
Interview Question (potential solution) Represent pixels as graph, neighboring pixels have edges connecting to each other in graph representation (what would be a good graph representation?) DFS to find all reachable pixels of the same color. Credit to Michelle Tian
Things I would tell my 1 year younger self after taking 61B - Find things that are interesting for you! - Side projects? - Research? - Internships? - Teaching? - Other clubs and organizations? - Other classes? - Other extracurriculars?
Teaching stuffs - Lab assist first! - Great way to improve understanding of the material - Tutor - Course staff or CSM (Computer Science Mentors) - Will give you great experience with teaching small sections - TA! - Keep in contact with your TA’s/those who are familiar with your teaching; they can put in a good word for you! - Summer apps have closed but fall 2017 is still open!
Stay in touch! - My email is cazhou@berkeley.edu - Ask me anything! - Classes, internships, teaching, housing, whatever!
显示前 17 页。下载资料查看完整内容。
暂无评论。快来抢沙发吧!
评论 (0)
暂无评论。快来抢沙发吧!