Emphasis will be on the oral and combination written oral modes of communication common in coding interviews, but which are unfamiliar settings for problem solving for many students. Prerequisites CS 1. B or X. CS 2. 0. Tensorflow for Deep Learning Research. Units. This course will cover the fundamentals and contemporary usage of the Tensorflow library for deep learning research. Through the course, students will use Tensorflow to build models of different complexity, from simple linearlogistic regression to convolutional neural network and recurrent neural networks with LSTM to solve tasks such as word embeddings, translation, optical character recognition. Students will also learn best practices to structure a model and manage research experiments. Prerequisites CS2. CS2. 24. DN. CS 2. A. The Social Economic Impact of Artificial Intelligence. Unit. Recent advances in computing may place us at the threshold of a unique turning point in human history. Soon we are likely to entrust management of our environment, economy, security, infrastructure, food production, healthcare, and to a large degree even our personal activities, to artificially intelligent computer systems. The prospect of turning over the keys to increasingly autonomous systems raises many complex and troubling questions. How will society respond as versatile robots and machine learning systems displace an ever expanding spectrum of blue and white collar workers Will the benefits of this technological revolution be broadly distributed or accrue to a lucky few How can we ensure that these systems respect our ethical principles when they make decisions at speeds and for rationales that exceed our ability to comprehend What, if any, legal rights and responsibilities should we grant them And should we regard them merely as sophisticated tools or as a newly emerging form of life The goal of CS2. CS 2. 8. Artificial Intelligence, Entrepreneurship and Society in the 2. Century and Beyond. Units. Technical developments in artificial intelligence AI have opened up new opportunities for entrepreneurship, as well as raised profound longer term questions about how human societal and economic systems may be reorganized to accommodate the rise of intelligent machines. In this course, closely cotaught by a Stanford professor and a leading Silicon Valley venture capitalist, we will examine the current state of the art capabilities of existing artificial intelligence systems, as well as economic challenges and opportunities in early stage startups and large companies that could leverage AI. We will focus on gaps between business needs and current technical capabilities to identify high impact directions for the development of future AI technology. Simultaneously, we will explore the longer term societal impact of AI driven by inexorable trends in technology and entrepreneurship. The course includes guest lectures from leading technologists and entrepreneurs who employ AI in a variety of fields, including healthcare, education, selfdriving cars, computer security, natural language interfaces, computer vision systems, and hardware acceleration. CS 4. 1. Hap. py Code The Python Programming Language. Units. The fundamentals and contemporary usage of the Python programming language. Primary focus on developing best practices in writing Python and exploring the extensible and unique parts of Python that make it such a powerful language. Topics include data structures e. We will also cover object oriented design, the standard library, and common third party packages e. Time permitting, we will explore modern Python based web frameworks and project distribution. Prerequisite 1. 06. BX or equivalent. Application required. CS 4. 2. Callback Me Maybe Contemporary Javascript. Units. Introduction to the Java. Script programming language with a focus on building contemporary applications. Course consists of in class activities and programming assignments that challenge students to create functional web apps e. Yelp, Piazza, Instagram. Topics include syntaxsemantics, event based programming, document object model DOM, application programming interfaces APIs, asynchronous Java. Script and XML AJAX, j. Query, Node. js, and Mongo. DB. Prerequisite CS 1. CS 4. 5N. Computers and Photography From Capture to Sharing. Units. Preference to freshmen with experience in photography and use of computers. Elements of photography, such as lighting, focus, depth of field, aperture, and composition. How a photographer makes photos available for computer viewing, reliably stores them, organizes them, tags them, searches them, and distributes them online. No programming experience required. Digital SLRs and editing software will be provided to those students who do not wish to use their own. CS 4. 9N. Using Bits to Control Atoms. Units. This is a crash course in how to use a stripped down computer system aboutnthe size of a credit card the rasberry pi computer to control as manyndifferent sensors as we can implement in ten weeks, including LEDs, motionnsensors, light controllers, and accelerometers. The ability to fearlesslyngrab a set of hardware devices, examine the data sheet to see how to usenit, and stitch them together using simple code is a secret weapon thatnsoftware only people lack, and allows you to build many interestingngadgets. We will start with a bare metal system no operatingnsystem, no support and teach you how to read device data sheetsndescribing sensors and write the minimal code needed to control themnincluding how to debug when things go wrong, as they always do. C Helper Index. Date. Title. 101. Get a hard drive serial number in C1. Get a disk volume serial number in C1. Find class ancestors in C1. Find classes that implement an interface or that are descendants of a given class in C1. Display subscripts and superscripts in a Rich. Text. Box in C, version 2. List a programs loaded assemblies in C1. Get the computers registered owner and organization in C1. Get the computers operating system in C93. Draw a picture filled histogram in C92. Write values in the Registry in C92. Read Registry values to get the desktop icon size in C92. Linkback to the Secret Santa Problem. Define custom exception classes in C92. See a hierarchy of exception classes for use in C92. Throw a standard exception in C92. Make a dice rolling simulation in C92. Tile a Picture. Box in C91. Use a symbiote to graphically select hours in C91. Graphically select hours in C91. Remove unnecessary using directives in C91. Draw the Weierstrass function in C91. Determine whether a file or directory exists in C982. Calculate Fibonacci numbers in several ways in C972. Recursively draw equations in C972. The C Helper Top 1. Amazon. 952. 01. Efficiently see if a string is blank in C942. Table of Contents The C Helper Top 1. New Book The C Helper Top 1. Change image resolution in C83. Examine the unique words in a Microsoft Word file in C82. Find random prime numbers in C82. Probabilistically determine whether a number is prime in C82. Iterate over items in an array with unknown dimensions in C82. Solution to puzzle Zero rows and columns in an array in C82. Draw improved text on a curve in C82. Make a Text. Box preview extender provider in C82. Make the user enter a float in C81. Preview Text. Box changes in C, Part 2. Preview Text. Box changes in C81. Use Array methods in C81. Puzzle Zero rows and columns in an array in C81. Compare performance looping over Date. Time and integer variables in C81. Find Friday the Thirteenths in C81. Use and to compare structs in C81. Book Review Super Scratch Programming Adventure Learn to Program By Making Cool Games. Animate rainbow colors in C882. Animate exploding 3 dimensional pie slices in C872. Use the mouse wheel to scale an image in C862. Use Windows Forms controls to make multiple stacked expanders in C852. Use Windows Forms controls to make an expander in C832. Calculate where a line segment and an ellipse intersect in C822. Make transparent button images in C812. List USB devices in C72. Draw marching ants dashed lines in C72. Draw dashed lines that are visible on any background in C72. Produce a repeatable series of random numbers in C72. Safely manage documents in C72. Get font size in pixels in C71. Draw smooth text in a Graphics. Path in C71. 52. Create a class outside of any namespace statement in C71. Book Review The Manga Guide to Linear Algebra. Get the screens resolution in C782. Make CtrlA select all of the text in a Text. Box in C772. 01. Generate random polygons in C752. Make extension methods to generate random double values in C732. Iterate over the items in arrays and lists in C63. Print a List. View controls contents on multiple pages in C62. Update a Data. Table that is bound to a Data. Grid. View in C62. Print a List. View with large contents in C62. Print the contents of a List. View control in C62. Make rectangle extension methods in C61. Use string extension methods to validate Social Security numbers in C61. Understand the symbol in C61. Center a form on the screen at run time in C61. Understand when a finally block is executed in C632. Use a Progress. Bar in C612. Make pop buttons in C52. Calculate the present value of a future amount of money in C52. Make silly eyes that track the mouse without flicker in C52. Make silly eyes that track the mouse in C52. Compare the performance of simple arithmetic operations in C52. Make a 3. D globe in WPF and C52. Graph event probabilities in C52. Find the number of trials for an event probability in C52. Calculate the probability of an event occurring in a given number of trials in C52. Understand probabilities of unrelated events and escaping zombies51. Display reusable dialog forms in C51. Make a Text. Box with auto complete in C51. Compare the performance of the int, long, and byte data types in C51. Compare the performance of the float, double, and decimal data types in C51. Save several images into Access in C51. Find. NET libraries for namespaces in C51. Load images from an Access database in C592. Save images in an Access database in C582. Use the Filter property to select image files in C552. Use filenames stored in a database to display images in C542. Move and resize multiple rectangles in WPF and C532. Display database records without data binding in C522. Initialize lists from databases without binding in C512. Check a Tree. View subtree in C42. Display context menus for Tree. View items in C42. Enumerate Tree. View nodes in C42. Yield checked Tree. View nodes in C42. Make a list of checked Tree. View nodes in C42. Display tooltips for Tree. View nodes in C42. Compare sorting algorithms in C, part 5 of 5 Countingsort42. Compare sorting algorithms in C, part 4 of 5 Quicksort42. Compare sorting algorithms in C, part 3 of 5 Selectionsort41. Compare sorting algorithms in C, part 2 of 5 Bubblesort41. Compare sorting algorithms in C, part 1 of 5 Array. Sort41. 42. 01. Run user entered code that modifies the programs form in C41. Use the yield statement in C41. Understand Auto. Scale. Mode in C41. 12. Draw transformed text in C41. Tip Make parentheses matching more visible in C41. Display tips in a status bar instead of a tooltip in C472. Make a sunburst chart in C, Part 4. Make a sunburst chart in C, Part 3. Make a sunburst chart in C, Part 2. Make a sunburst chart in C, Part 1. Make a status strip label that sticks to the right side of the form in C33. Parse file sizes in KB, MB, GB, and so forth in C33. Highlight the Data. Grid. View row that is under the mouse in C32. Use accelerators on labels and buttons in C32. Compare the performance of incrementing statements in C32. Make a simple event logger in C32. Display a forms control hierarchy in C32. Loop over a forms controls in C32. Make a shaded ellipse control in C32. Quickly insert standard menu items on a form in C32. Give a class default indexer properties in C31. Solution The 4. 0 pound stone puzzle. Activate another running program in C31. Use digits of Pi to draw a picture in C31. Look for dates in the digits of Pi in C31. Find patterns within Pi in C31. Puzzle The 4. 0 pound stone. Make the basis for a card game in C31. Verify sizes of playing cards in C31. Use System. Threading. Timer to make a countdown timer in C382. Installing Visual Studio 2. Use an improved extension method to calculate standard deviation in C372. Remove a Text. Box controls context menu in C362. Use Active. Control to enabled and disable menu items in C322. Use the Active. Control property in C312. Make a case insensitive dictionary in C22. Understand string equality testing in C22. Use a Dictionary to store and retrieve items in C22. Compare the performance of string comparison methods in C22. Compare the performance of switch and if statements in C22. Draw, move, and delete line segments in VB. NET22. 12. 01. 7Convert a Rectangle into a Rectangle. F and vice versa in C22. Make a hangman game in C21. Use LINQ to select words of certain lengths from a file in C21. Draw a golden spiral in C21. Draw a nested series of golden rectangles in C21. Examine the relationship between the Fibonacci sequence and phi in C21. Use a Text. Field. Parser to read fixed width data in C21. Use a Text. Field. Parser to read delimited data in C282. Suspend or hibernate the system in C272.