NOTE: This listing represents our current plan for the semester in question. Course offerings and class times are occasionally subject to change for reasons beyond our control.


CSE 002 FUNDAMENTALS OF PROGRAMMING

Problem-solving and object-oriented programming using Java. Includes laboratory. No prior programming experience needed. Click here for official description.

CSE 002-110, MW 8:45-10:00, Professor Arielle Carr

CSE 002-210, MW 11:10-12:00 F (lab) 11:10-12:00, Professor Brian Chen

CSE 002-211, MW 12:45-2:00, Professor Sharon Kalafut


CSE 012-010 SURVEY OF COMPUTER SCIENCE, TR 1:10-2:25, Professor Sharon Kalafut

This course provides a project-based exploration of fundamental concepts in computing and "computational thinking." Topics include but are not limited to networks, data visualization, information storage and retrieval, and the popular Python programming language. Each project presents applications of computing in solving real life problems. In this course you will learn to write Python code to visualize data from different sources. You will learn how information is transferred across networks and how to store and retrieve data from relational database management systems. Optional Structured Study Groups will be provided for students who express interest. Click here for official description.


CSE 017 PROGRAMMING AND DATA STRUCTURES

This course is a programming-intensive exploration of software design concepts and implementation techniques. It builds on the student's existing knowledge of fundamental programming. Topics include object-oriented software design, problem-solving strategies, algorithm development, and classic data structures. Click here for official description.

CSE 017-010, MWF 11:10-12:00, Professor James Femister

CSE 017-011, MWF 3:10-4:00, Professor James Femister


** NEW COURSE FOR 2018-2019** CSE 098 WOMEN IN TECHNOLOGY, F 2:10-4:00, Professor Daniel Lopresti (Course runs only second half of semester)

The technology industry has been the engine of growth for the US economy for the past four decades. Emergent tech companies have shaped all of our lives, and created significant professional and financial opportunities for the leaders of these high growth ventures. Despite the many clear opportunities, women hold a minority of the leadership positions in the tech industry. Why? What can be done to change this? How can the next generation of female tech industry leaders succeed? What role can mentoring play in fostering a successful and fulfilling career? These are some of the questions we will examine in this one-credit, seminar-style course. Many of our guest instructors will be drawn from Silicon Valley firms, from startups to tech powerhouses. Prerequisite: permission of instructor.


CSE 109 SYSTEMS SOFTWARE

Advanced programming and data structures, including dynamic structures, memory allocation, data organization, symbol tables, hash tables, B-trees, data files. Object-oriented design and implementation of simple assemblers, loaders, interpreters, compilers and translators. Practical methods for implementing medium-scale programs. Click here for official description.

CSE 109-010, MWF 2:10-3:00 F (lab) 3:10-4:00, Professor Corey Montella

CSE 109-011, MWF 1:10-2:00 F (lab) 12:10-1:00, Professor Corey Montella


CSE 140 FOUNDATIONS OF DISCRETE STRUCTURES & ALGORITHMS

Basic representations used in algorithms: propositional and predicate logic, set operations and functions, relations and their representations, matrices and their representations, graphs and their representations, trees and their representations. Basic formalizations for proving algorithm correctness: logical consequences, induction, structural induction. Basic formalizations for algorithm analysis: counting, pigeonhole principle, permutations. Click here for official description.

CSE 140-010, MW 8:45-10:00, Professor Ting Wang

CSE 140-011, TR 2:35-3:50, Professor Arielle Carr


CSE 160-010 INTRO TO DATA SCIENCE, MWF 1:10-2:00, Professor Brian Davison

Interested in understanding the hype about data science, big data, or data analytics? This course introduces you to data science, a fast-growing and interdisciplinary field, focusing on the computational analysis of data to extract knowledge and insight. You will be introduced to the collection, preparation, analysis, modeling, and visualization of data, covering both conceptual and practical issues. Applications of data science across multiple fields are presented, and hands-on use of statistical and data manipulation software is included. The course is open to students from all areas of study; the only prerequisite is some programming experience (automatic if you've taken CSE 2, 12, or BIS 335, or permission of the instructor is available if you can show that you've successfully completed a programming course online, in high school, or elsewhere). Click here for official description.


CSE 202 COMPUTER ORGANIZATION AND ARCHITECTURE

Interaction between low-level computer architectural properties and high-level program behaviors: instruction set design; digital logics and assembly language; processor organization; the memory hierarchy; multicore and GPU architectures; and processor interrupt/exception models. Click here for official description.

CSE 202-010, TR 10:45-12:00, Professor Mark Erle

CSE 202-011, TR 1:10-2:25, Professor Mark Erle


CSE 216-010 SOFTWARE ENGINEERING, TR 2:35-3:50, Professor Mark Erle

The software life-cycle; life-cycle models; software planning; testing; specification methods; maintenance. Emphasis on team work and large-scale software systems, including oral presentations and written reports. Click here for official description.


CSE 241-010 DATABASE SYSTEMS. TR 10:45-12:00, Professor Hank Korth

Design of large databases: Integration of databases and applications using SQL and JDBC; transaction processing; performance tuning; data mining and data warehouses. Click here for official description.


CSE 252-010 COMPUTERS, INTERNET AND SOCIETY, TR 2:35-3:50, Professor Eric Baumer

An interactive exploration of the current and future role of computers, the Internet, and related technologies in changing the standard of living, work environments, society and its ethical values. Privacy, security, depersonalization, responsibility, and professional ethics; the role of computer and Internet technologies in changing education, business modalities, collaboration mechanisms, and everyday life. (SS) Click here for official description.


CSE 264-010 WEB APPLICATIONS, TR 1:10-2:25, Professor James Femister

Practical experience in designing and implementing modern Web applications. Concepts, tools, and techniques, including: HTTP, HTML, CSS, DOM, JavaScript, Ajax, PHP, graphic design principles, mobile web development. Not available to students who have credit for IE 275. Click here for official description.


CSE 280-010 CAPSTONE PROJECT I, MW 12:45-2:00, Professor John Spletzer

First of a two semester capstone course sequence that involves the design, implementation, and evaluation of a computer science software project. Conducted by small student teams working from project definition to final documentation. Each student team has a CSE faculty member serving as its advisor. The first semester emphasis is on project definition, planning and implementation. Communication skills such as technical writing, oral presentations, and use of visual aids are also emphasized. Project work is supplemented by weekly seminars. Prerequisite: junior standing and CSE 216. Click here for official description.


CSE 303-010 OPERATING SYSTEM DESIGN, MW 12:45-2:00, Professor Michael Spear

Process and thread programming models, management, and scheduling. Resource sharing and deadlocks. Memory management, including virtual memory and page replacement strategies. I/O issues in the operating system. File system implementation. Multiprocessing. Computer security as it impacts the operating system. Click here for official description.


CSE 318-010 INTRODUCTION TO THE THEORY OF COMPUTATION

Formal study of theoretical computational models: finite automata, pushdown automata, and Turing machines. Study of formal languages: regular, context-free, and decidable languages. Click here for official description.

CSE 318-010, MWF 10:10-11:00, Staff

 CSE 318-011, TR 7:55-9:10, Professor Arielle Carr


CSE 326/426 FUNDAMENTALS OF MACHINE LEARNING, MW 8:45-10:00, Professor Sihong Xie

An introductory course offers a broad overview of the main techniques in machine learning. Students will study the theory, algorithms and implementations for machine learning. Topics covered include supervised learning (decision trees, naive Bayes and regression, boosting, SVM, perceptron), learning theory (bias/variance tradeoffs; PAC learning, and VC theory); probabilistic graphical model; unsupervised learning (dimensionality reduction, clustering, EM algorithms); deep neural networks and reinforcement learning. Also note that this course is a prerequisite for CSE 347 Data Mining.


CSE 327-011 ARTIFICIAL INTELLIGENCE OF THEORY AND PRACTICE, MW 2:35-3:50, Professor Jeff Heflin

Introduction to the field of artificial intelligence: Problem solving, knowledge representation, reasoning, planning and machine learning. Use of AI systems or languages. Advanced topics such as natural language processing, vision, robotics, and uncertainty. Click here for official description.


CSE 343-010/443-010 NETWORK SECURITY, MW 2:35-3:50, Professor Mooi Choo Chuah

Overview of network security threats and vulnerabilities. Techniques and tools for detecting, responding to and recovering from security incidents. Fundamentals of cryptography. Hands-on experience with programming techniques for security protocols. Click here for official description.


** NEW COURSE FOR 2018-2019** CSE 350/450 SPECIAL TOPICS: AI FOR SOCIAL GOOD, WF 12:45-2:00, Professor Daniel Lopresti

Recent advances in artificial intelligence and other related areas of computer science are having an enormous impact on our society. Often they change our lives for the better, but sometimes there are unintended consequences resulting in charges that the high tech industry focuses on profits and ignores societal impact. To counter this, a recent movement toward “AI for Social Good” has taken hold within the research community. In this project-based seminar course, we will begin by surveying recent work in this area. Readings will be drawn from the current literature. Students will then form into teams and tackle a real-world problem, outlining the task, gathering the data, and implementing and testing solutions using methods from machine learning and data/text mining. Domains to be studied will include, among others, smart cities and open government data, and AI applied to the fight against human trafficking. This class will meet once a week on Wednesdays in Mountaintop Building C, with individual team meetings scheduled at mutual times during the week. Prerequisites: CSE 109 Systems Software and (CSE 326 Foundations of Machine Learning or CSE 347 Data Mining or CSE 398 Natural Language Processing or CSE 398 Text Mining) and permission of the instructor.


CSE 360/460-010 INTRODUCTION MOBILE ROBOTICS, MW 8:45-10:00, Professor John Spletzer

Algorithms employed in mobile robotics for navigation, sensing, and estimation. Common sensor systems, motion planning, robust estimation, bayesian estimation techniques, Kalman and Particle filters, localization and mapping. Click here for official description.


**COURSE CANCELLED** CSE 371/CSE 498 PRINCIPLES OF MOBILE COMPUTING, MW 11:10-12:25, Professor Mooi Choo Chuah

Lecture/seminar course covering the fundamental concepts and technology underlying mobile computing and its application as well as current research in these areas. Examples drawn from a variety of application domains such as health monitoring, energy management, commerce, and travel. Issues of system efficiency will be studied, including efficient handling of large data such as images and effective use of cloud storage. Research coverage will be drawn from the best publications in the recent research conferences. Deep learning methods will be covered. Students will do Android programming and possibly develop Alexa/Google home skills for homework assignments and final class projects. Prerequisites: CSE 109 and (CSE 202 or ECE 201). Click here for official description.


**NEW COURSE for 2018-2019** CSE 398/498-014 ADVERSARIAL MACHINE LEARNING, MW 11:10-12:25, Professor Ting Wang

Machine learning has become one mainstream technique underlying numerous data-driven systems in a wide range of domains. This class will focus on understanding the challenges of applying machine learning in adversarial environments, wherein potential adversaries
may purposely manipulate and sabotage the learning processes and outcomes. We will study the state-of-the-art attack and defense techniques, and understand their strengths and limitations.

In this class, we will read a number of technical papers, and work on a research project in teams of 2-3 students. The goal of the project is to develop new attacks or defenses (or improve existing ones) for machine learning-powered systems and applications, with the ultimate
goal of producing real and publishable results by the end of the semester. Prerequisites: CSE 326/426: Fundamentals of machine learning or CSE 347/447: Data Mining.


CSE 401-010 ADVANCED COMPUTER ARCHITECTURE, TR 10:45-12:00

Design, analysis and performance of computer architectures; high-speed memory systems; cache design and analysis; modeling cache performance; principle of pipeline processing, performance of pipelined computers; scheduling and control of a pipeline; classification of parallel architectures; systolic and data flow architectures; multiprocessor performance; multiprocessor interconnections and cache coherence.


CSE 403-010 ADVANCED OPERATING SYSTEMS, TR 2:35-3:50, Professor Roberto Palmieri

Principles of operating systems with emphasis on hardware and software requirements and design methodologies for multi-programming systems. Global topics include the related areas of process management, resource management, and file systems.


CSE 440-010 ADVANCED ALGORITHMS, TR 10:45-12:00, Professor Hector Munoz-Avila

Average-case runtime analysis of algorithms. Randomized algorithms and probabilistic analysis of their performance. Analysis of data structures including hash tables, augmented data structures with order statistics. Amortized analysis. Elementary computational geometry. Limits on algorithm space efficiency using PSPACE-completeness theory. Prerequisites: CSE 340 or MATH 340.


CSB COURSES – Spring 2019

** NEW COURSE FOR 2018-2019** CSB 298 BLOCKCHAIN CONCEPTS & APPS, TR 9:20-10:35, Professor Hank Korth

Blockchain is the technology underlying Bitcoin, along with other digital currencies, and a data-management technology applicable broadly in finance, accounting, supply-chain, and "smart" contracts.  It offers the ability to decentralize financial transactions, automate record keeping, and increase privacy. This course aims to give business students the basis for understanding the foundations of blockchain, to give computer-science students the basis for understanding the impact of blockchain, and to give all students the basis for a deeper understanding of this emerging technology. Prerequisite: ECO 001 AND (BIS 111 or CSE 001 or CSE 002 or CSE 012) AND (CSE 017 or MKT 111 or FIN 125 or SCM 186) . This course is open to all students with these prerequisites regardless of their college. Students should check with their advisors on how the course would count towards their degree programs. In CSB this counts as a professional elective but not as an approved CSE elective. It does not count towards the CS minor.


CSB 311-010 COMPUTER APPLICATIONS IN BUSINESS, MW 11:10-12:25, Professor James Hall

Application of computer technology to business problems. Transaction processing systems which support the revenue, conversion, and expenditure cycles of manufacturing, service, and retail business organizations. Topics include process modeling, data modeling, internal controls, corporate IT governance, IT audit techniques, SAP and applications of Generalized Audit Software. Click here for official description.


CSB 312 DESIGN OF INTEGRATED BUSINESS APPLICATIONS, TR 2:35-3:50, Professor Sharon Kalafut, Professor George Witmer, Professor Edwin Yeakel

Integrated Product Development (IPD) Capstone I. Industry-based business information systems design project. Information systems design methodology, user needs analysis, project feasibility analysis of design alternatives, and integrated product development methodology. Formal oral and written presentations to clients. Click here for official description.


NOTE: This listing represents our current plan for the semester in question. Course offerings and class times are occasionally subject to change for reasons beyond our control.