CSE 190 - Topics in Computer Science and Engineering (2017 - 2018 AY)

CSE 190 - Topics in Computer Science and Engineering (2017 - 2018 AY)

Units: 4

Course Description:  Topics of special interest in Computer Science and Engineering. Topics may vary from quarter to quarter.

Prerequisites: Prerequisites vary per course per instructor. Department stamp required.

Offered: Every quarter as staffing allows

- May be repeated for credit max 3 times (maximum of 12 units; assuming courses taken for a different topic)

- For sections where enrollment is via EASy clearance, non-CSE majors will be cleared after the CSE Major Priority deadline

 

Summer 2018

S118 CSE 190 A00: Successful Entrepreneurship with Dr. Rakesh Kumar:

To enroll: Application Closed

Description: The major objects of this course are to:

Encourage and Coach students to think like and become successful entrepreneurs, 

Describe major reasons why Microsystem start-ups typically are not successful, and

Educate them to the breadth of methodologies for success in getting their innovative Microsystem ideas to the marketplace.

Experienced guest lectures will be invited to share their success stories and lessons learned. In addition to reading assignments, students will have the opportunity to bring forward their own innovative ideas in teams of 3-5 students, and will be required to develop a first pass business plan for a start-up company as a team project. The learnings from this course will also benefit students that choose to work as intrapreneurs within larger organizations.

 

S218 CSE 190 A00: Successful Entrepreneurship with Dr. Rakesh Kumar:

To enroll: Application Closed

Description: The major objects of this course are to:

Encourage and Coach students to think like and become successful entrepreneurs, 

Describe major reasons why Microsystem start-ups typically are not successful, and

Educate them to the breadth of methodologies for success in getting their innovative Microsystem ideas to the marketplace.

Experienced guest lectures will be invited to share their success stories and lessons learned. In addition to reading assignments, students will have the opportunity to bring forward their own innovative ideas in teams of 3-5 students, and will be required to develop a first pass business plan for a start-up company as a team project. The learnings from this course will also benefit students that choose to work as intrapreneurs within larger organizations.

 

S218 CSE 190 B00:  Numerical Analysis for Artificial Intelligence with Jacek Cyranka

Prerequisites: CSE 100 and MATH 18 and MATH 20C

To enroll: Complete Course Pre-Authorization form 

Description: 

The goal of the course is to study fundamentals of artificial neural networks learning process. The emphasis will be given to gradient descent and other optimization techniques.

The course will require some mathematical maturity, but it will start with a concise review of all of the required topics from multivariate calculus and linear algebra. I will also review Python numerical libraries (Numpy, Scipy). I will follow with presentation of the gradient descent and other optimization techniques. All mathematical techniques will be linked to and tested in practice, so that we will learn advantages and limitations of the methods.  The remaining topics that will be discussed during the course include implementation of a simple neural network, computing gradients using the backpropagation algorithm, and finally merging all the pieces of information together into a working neural network solving some test cases of choice. 

The course evaluation will be based on some homework writeups and programming assignments. The most important component will be a programming project related with the course topic. The goal of the project will be to implement from scratch a learning algorithm for simple neural network and successfully use it on a problem of choice.

Students are expected to be very familiar with: 

·Programming using Python.

·Multivariate calculus

·Linear algebra

 

Spring 2018

CSE 190 A00: Database System Implementation with Professor Arun Kumar:

Prerequisites: "CSE 132A: Database System Principles" and C++ programming experience (or willingness to quickly learn C++ on your own). In addition, "CSE 120: Principles of Operating Systems" and "CSE 132B: Database System Applications" will be really helpful but it is not a pre-requisite.

To enroll: Complete Course Pre-Authorization form 

Description: This is a hands-on systems-focused course on the implementation of a relational database management system (RDBMS). RDBMSs are the cornerstone of large-scale data management in numerous application domains that define the modern world, including finance, insurance, retail, logistics, telecommunications, healthcare, governance, and education. Moreover, ideas and techniques developed in the context of RDBMSs form the systems underpinnings of recent "big data" systems that were developed for new applications such as Web search, recommendation systems, and advanced analytics. This course will cover key systems topics in implementing an RDBMS: data storage, buffer management, indexing, sorting, and relational operator implementations, as well as a bit of query optimization and transaction processing. The implementation of newer "big data" systems such as MapReduce/Hadoop and Spark, as well as distributed key-value stores and in-memory RDBMSs will likely be covered as well. A major component of this course is hands-on C++ programming to implement two key components of an RDBMS--a buffer manager and a B+ Tree index--on top of a basic RDBMS skeleton that will be provided.

This is a 4-credit course with the following tentative grading split: two C++ programming projects (20% for buffer manager and 30% for B+ Tree index), a midterm (20%), and a final exam (30%). No late days will be given for the programming projects.

 

CSE 190 B00: Successful Entrepreneurship with Dr. Rakesh Kumar:

To enroll: Complete application

Description: The major objects of this course are to:

Encourage and Coach students to think like and become successful entrepreneurs, 

Describe major reasons why Microsystem start-ups typically are not successful, and

Educate them to the breadth of methodologies for success in getting their innovative Microsystem ideas to the marketplace.

Experienced guest lectures will be invited to share their success stories and lessons learned. In addition to reading assignments, students will have the opportunity to bring forward their own innovative ideas in teams of 3-5 students, and will be required to develop a first pass business plan for a start-up company as a team project. The learnings from this course will also benefit students that choose to work as intrapreneurs within larger organizations.

 

CSE 190  C00: Virtual Reality Technology with Professor Jurgen Schulze: 

Prerequisite: CSE 167

To enroll: Complete Course Pre-Authorization form 

Description: 

Virtual reality (VR) has been capturing people’s imagination for decades, but only recently has it been possible to build VR devices inexpensive enough for the consumer market. This course aims to explain how VR technology works and the students are going to do programming projects to better understand potential and limitations of

today’s VR hardware.

The course is structured into the following parts:

An overview of the state-of-the-art VR technologies and research trends will be given.

The fundamental physics of 3D displays will be covered, including the major 3D depth cues.

The most common display types such as LCDs and OLEDs will be introduced, in terms of display materials, device structures, working principles and research trends.

We will look at various ways to create stereographics images.

Several quasi-true 3D displays, including holography, volumetric 3D displays and light field displays will be introduced.

Immersive VR systems will be discussed, including HMD-based systems. This part of the course will include a discussion of smart phone based HMDs as well as high end computer driven HMDs.

Challenges with today’s HMD-based VR will be discussed and software driver components will be explained and implemented in C++ with OpenGL.

 

CSE 190  D00: Data Meets Theory II with Dr. Janine Tiefenbruck

Course Pre-req's: WI18 CSE 190 E00 (aka: DSC 40) or CSE 20 or CSE 21 or MATH 15A

Restrictions: CSE Majors/minors may not use this course as a CSE Elective or Technical Elective; CSE Majors/Minors may not enroll in course

To enroll: Complete Course Pre-Authorization form 

Description: This course is intended for Data Science majors and minors. This sequence of two courses will introduce the mathematical foundations of data science, including: sets and combinatorics; graphs; probability; statistics; linear algebra; and the fundamentals of algorithms. Students will become familiar with mathematical language for expressing data analysis problems and solution strategies, and will receive training in probabilistic reasoning, mathematical modeling of data, and algorithmic problem solving. These courses connect to DSC 10, 20 and 30 courses by providing a unified view of the mathematical methods that underlie data science.

 

CSE 190  E00: Micro-Quadcopter from Scratch with Professor Steve Swanson: 

To enroll: Submission of an application is required for Dr. Swanson's review: https://goo.gl/Xjm9vf

Description: In this course you will build a small, remote-controlled multi-rotor aircraft (i.e., a quadcopter). You will design the circuitry and circuit boards, have the board manufactured, assemble, and fly your quadcopter. This is an intensive project class. You should expect to work hard.

 

CSE 190 F00 Modern Computer Vision with Assistant Professor Manmohan Chandraker: 

Course Prerequisites: Math 20A and (Math 18 or Math 20F) required. CSE 101 and CSE 152 or equivalents are strongly encouraged.

To enroll: Complete Course Pre-Authorization form 

Description: Computer vision is a branch of artificial intelligence that seeks to understand the world based on visual cues, primarily images. This understanding can be in the form of recovering three-dimensional scene properties, recognizing objects, labeling parts of the image into semantic categories, recognizing actions in videos or predicting behaviors. Several recent advances in computer vision have relied on machine learning, in particular, convolutional neural networks. These advances also enable modern applications such as autonomous driving or augmented reality.  In this course, we will study fundamental concepts of computer vision, with a particular focus on providing intuitive overviews of advanced topics at the frontier of current research.

Grading will be based on homework assignments and a final exam. 

Required background: Linear algebra and calculus, data structures and algorithms, programming experience in MATLAB, Python, C or C++.

 

CSE 190 G00: Introduction to Intellectual Property for CS students with TBD 

Prerequisite: CSE Major with Senior standing 

To enroll: Complete Course Pre-Authorization form 

Description: This course will offer an introduction to Intellectual Property Law with a focus on topics that are most relevant to Computer Science. Students are not expected to have any legal background. Students will understand how to use the different IP tools to protect their inventions. Topics covered will include Patents, Trademark, Copyright, Trade Secret, Software Licensing, and a holistic strategy to building an intellectual property portfolio. A goal of the course is to teach computer scientists how and when to utilize and benefit from the various different intellectual property methodologies effectively in business contexts in their future careers.

 

CSE 190 H00: Web App Performance and Monitoring with Thomas Powell (course will be available on EASy by 2/27/2018)

Prerequisite: CSE 134B or CSE 136 or relevant Web development knowledge/experience with instructor approval (instructor approval received via EASy)

To enroll: Complete Course Pre-Authorization form 

Description: The direct relationship between performance and success online is well known.  For example, Amazon has reported that a mere 100ms difference in delivery speed can reduce cumulative sales noticeably.  Other large data aware organizations such as Facebook, Google and numerous others have reported similar catastrophic effects when performance is not well considered.  Unfortunately many developers are not aware of how their development practices affect performance, this survey course aims to help educate students on the techniques to improve application delivery and how to properly monitor deployed applications from a user performance point of view.  UI theory and network constraints will guide the application of best practices which will be demonstrated both by passive evaluations as well as measured improvements applied to existing sites and applications.

 

 

Winter 2018

CSE 190 A00 and B00: Successful Entrepreneurship with Dr. Rakesh Kumar:

To enroll: Complete application

Description: The major objects of this course are to: encourage students to think like and become entrepreneurs describe major reasons why Microsystem start-ups typically are not successful, and expose them to methodologies for success in getting their innovative Microsystem ideas to the marketplace. Experienced guest lectures will be invited to share their success stories and lessons learned. In addition to reading assignments, students will have the opportunity to bring forward their own innovative ideas in teams of 3-4 students, and will be required to develop a first pass business plan for a start-up company as a team project. The learnings from this course will also benefit students that choose to work as intrapreneurs within larger organizations.

 

 CSE 190 C00: HCI for Health (HCI4H) with Professor Weibel:

Prerequisite: Graduating senior and deep interest in research around technology and healthcare, and to have some experience in healthcare, technology or both.

To enroll: Submit your application for faculty approval: Application Link

Description: HCI4H is aimed for senior undergraduates that are or want to undertake research at the intersection of Human-Computer Interaction, Technology and Healthcare. HCI4H will bring together students from a variety of disciplines and majors, namely computer science, engineering, cognitive science, biomedical informatics, public health, medicine, etc. to investigate what it means to develop and study technology for healthcare. This class will bring to students methods, experiences and challenges from the real-world as a technologist in healthcare. As part of this class we will analyze and talk about practical experiences around working in the realm of healthcare, but we will also experience hand-on what this kind of work entails. Students must have research experience.

 

CSE 190 D00: Statistical Natural Language Processing with Professor Ndapa Nakashole

Prerequisites: MATH 20C and Math 20F/MATH 18, and CSE 101 (CSE 101 may be concurrent)

To enroll: Complete Course Pre-Authorization form 

Description: Natural language processing (NLP) is a field of AI which aims to to equip computers with the ability to intelligently process natural (human) language. This course will explore statistical techniques for the automatic analysis of natural language data. Specific topics covered include: probabilistic language models, which define probability distributions over text passages; text classification; sequence models; parsing sentences into syntactic representations; and machine translation.

Notes from instructor:

The course assumes knowledge of basic probability.

Course projects will require programming in Python.

Prior experience with linguistics or natural languages is helpful, but not required.

 

CSE 190 E00 and F00: Data Meets Theory with Dr. Janine Tiefenbruk

Course Pre-req's: DSC 10, MATH 20C, and MATH 18 (MATH 18 concurrent enrollment allowed for this quarter)

Restrictions: CSE Majors may not use this course as a CSE Elective or Technical Elective

To enroll: Complete Course Pre-Auth form

Course Description: This sequence of two courses will introduce the mathematical foundations of data science, including: sets and combinatorics; graphs; probability; statistics; linear algebra; and the fundamentals of algorithms. Students will become familiar with mathematical language for expressing data analysis problems and solution strategies, and will receive training in probabilistic reasoning, mathematical modeling of data, and algorithmic problem solving. These courses connect to DSC 10, 20 and 30 courses by providing a unified view of the mathematical methods that underlie data science.

 

Fall 2017

CSE 190  A00 and B00 Successful Entrepreneurship with Dr. Rakesh Kumar:

To enroll: Complete application  (application open until seats are filled)

Description: The major objects of this course are to: 

encourage students to think like and become entrepreneurs 

describe major reasons why Microsystem start-ups typically are not successful, and

expose them to methodologies for success in getting their innovative Microsystem ideas to the marketplace.

Experienced guest lectures will be invited to share their success stories and lessons learned. In addition to reading assignments, students will have the opportunity to bring forward their own innovative ideas in teams of 3-4 students, and will be required to develop a first pass business plan for a start-up company as a team project. The learnings from this course will also benefit students that choose to work as intrapreneurs within larger organizations.

 

CSE 190 C00 Neural Networks with Gary Cottrell 

To enroll: Complete Course Pre-Auth form

Prerequisites: MATH 20C and Math 20F, and CSE 101 (CSE 101 may be concurrent)

Description: Neural networks have come back into fashion recently with the advent of deep networks, which are winning many of the most important computer vision contests, are being used in speech recognition, language translation, etc. In this course, we begin with the fundamentals of neural networks: We begin with perceptrons, logistic regression, multilayer networks and back-propagation, many of Yann LeCun's "tricks" with backprop, convolutional neural networks, recurrent networks, and deep networks. The course will involve programming assignments roughly every two weeks, a midterm, and a final. 

 

CSE 190 I00 Introduction to CS Research with Christine Alvarado

To enroll: Enrollment for this course is by application and acceptance into the Early Research Scholars Program.  Applications were due during Spring 2017, and accepted applicants were notified in May 2017. Applicants who were accepted will be informed how to register for the course by early September.

Description: Introduction to research in computer science. Topics include defining a CS research problem, finding and reading technical papers, oral communication, technical writing, and independent learning. Course participants apprentice with a CSE research group, and proposal an original research project.

 

CSE 190 J00 Teaching CS in informal space 

To enroll: Complete Course Pre-Auth form

Prerequisites: Upper Division Standing (JR or SR)

Description: Teaching computer science to kids of all ages involves effective teaching practices, an understanding of novice programming environments, and expertise in designing and implementing engaging projects at age-appropriate levels. In this course, you will learn how to create learning experiences for diverse populations, discover,

analyze, and evaluate the usability and technology behind common novice programming environments, and actually go into local San Diego libraries and public spaces to teach real kids a project that you design. Throughout the course you will also hear lessons-learned from Dr. Guthals on research in computer science education, designing new programming environments like CodeSpells, LearnToMod, and KidHub, and starting successful computer science education companies. This course is targeted towards computer science undergraduates who are interested in teaching or building educational software, but will also cater to those interested in common techniques to coming up with technical requirements for particular populations.