Courses Taught

Undergraduate Courses

CPSC-21000 (formally 70-210) Programming Fundamentals (formally Programming and Data Structures)

"A study of computer organization, data types, expressions, logical structures, subprograms (subroutines and functions), recursion, structured data types (arrays and records), dynamically allocated data, array-based lists, linked lists, stacks, queues, graphs, trees, sorting, and searching. The course uses the programming language Java." (3 Credits)

Semesters taught: Fall (2012-Present), Spring (2013, 2015, 2016-Present: online only)

CPSC-24700 (formally 70-247) Web and Distributed Programming

"Languages and technologies for programming and leveraging web-based computer services securely. Languages include PHP, Perl, Javascript, Java, Ruby, CSS, and HTML5. Technologies include relational databases, web services, Hadoop, and cloud computing platforms. This course teaches students how to develop useful applications using a variety of distributed data and programming models." (3 Credits)

Semesters taught: Fall (2012-2016)

CPSC-30000 (formally 70-300) Computer Organization

"This study of computer organization covers the central processor unit, memory unit and I/0 unit, number systems, character codes and I/O programming. Programming assignments provide practice working with assembly language techniques, including looping, addressing modes, arrays, subroutines, and macros. Microsoft assembler is discussed and used for programming throughout the course." (3 Credits)

Semester taught: Fall 2012

CPSC-31500 (formally 70-315) Scientific Computing

"An introduction to developing computer applications for collecting, analyzing, and visualizing scientific and mathematical data. Students will learn how to use mathematical computing environments like Matlab, Octave, and R as well as to write journal-style papers in LaTeX." (3 Credits)

Semesters taught: Spring (2013-2016)

CPSC-47000 (formally 70-470) Artificial Intelligence

"Topics central to Artificial Intelligence are covered, including knowledge representation, the predicate calculus, goal-directed and data-directed search techniques, and rule-based expert systems. Two languages for problem solving are presented: LISP and PROLOG." (3 Credits)

Semesters taught: Spring (2013-Present)

MATH-11500 (formally 13-115) Intermediate Algebra

"Terms, expressions, functions, and equations; factoring expressions; solving linear equations; solving quadratic equations; using factoring to solve equations; solving exponential and logarithmic equations, graphing functions, absolute value, and applications." (3 Credits)

Semester taught: Fall 2013

MATH-30500 (formally 13-305) Linear Algebra

"A study of matrix algebra, systems of linear equations, determinants, vector spaces, linear transformations, eigenvalues and eigenvectors, inner products, orthogonality, change of basis and linear programming. Applications of various topics are presented as well." (3 Credits)

Semester taught: Fall 2013

Graduate Courses

CPSC-51000 (formally 70-510) Introduction to Data Mining and Analytics

"Overview of the field of data mining and analytics; includes large-scale file systems and Map-Reduce, measures of similarity, link analysis, frequent item sets, clustering, e-advertising as an application, recommendation systems." (3 credits)

Semester taught: Spring 2015, Summer 2017, Fall (2015, 2017)

CPSC-51100 (formally 70-511) Statistical Programming

"Programming structures and algorithms for large-scale statistical data processing and visualization. Students will use commonly available data analysis software packages to apply concepts and skills to large data sets and will also develop their own code using an object­oriented programming language." (3 credits)

Semester taught: Spring (2016-Present), Summer (2015-2017), Fall (2017-Present)

CPSC-52500 (formally 70-525) Encryption and Authentication Systems

"This course will present key cryptologic terms, concepts, and principles. Traditional cryptographic and cryptanalytic techniques are covered plus perspective on successes and failures in cryptologic history, including both single-key algorithms and double-key algorithms. Issues in network communications, network security, and security throughout the different layers of the OSI model for data communications will also be discussed in depth, as well as the use of cryptologic protocols to provide a variety of security services in a networked environment. Authentication, access control, non-repudiation, data integrity, and confidentiality issues will also be covered, plus key generation, control, distribution, and certification issues." (3 credits)

Semester taught: Spring 2014

CPSC-53000 (formally 70-530) Data Visualization

"The theory and practice of visualizing large, complicated data sets to clarify areas of emphasis. Human factors best practices will be presented. Programming with advanced visualization frameworks and practices will be demonstrated and used in group programming projects." (3 credits)

Semester taught: Summer 2016

CPSC-57100 Artificial Intelligence 1

"Introduction to the field of artificial intelligence. This course covers the study of intelligent agent design and rational decision making. Topics include: goal-driven agents, search techniques, optimization, constraint satisfaction problems, logic, knowledge-based agents, probability and utility theory, Bayesian networks, and the basics of machine learning." (3 credits)

Semester taught: Spring (2017, 2018)

CPSC-57200 Artificial Intelligence 2

"Techniques for planning, learning, and decision making under uncertainty and in multi-agent environments. Topics include Markov Decision Processes (MDPs), partially observable MDPs, reinforcement learning, game theory, Bayesian networks, and special topics. " (3 credits)

Semester taught: Summer 2018

CPSC-59000 Data Science Project for Computer Scientists

"The capstone experience for students pursuing the Computer Science concentration in Data Science. Students will develop a solution for a real-world problem in data mining and analytics, document their work in a scholarly report, and present their methodology and results to faculty and peers." (3 credits)

Semester taught: Spring (2017-Present), Summer (2016-Present), (Fall (2016-Present)

Piotr Szczurek, Ph.D.