CSC 161 |
Sarkis R
|
Hands-on introduction to programming using the Python programming language. Covers basic programming constructs including statements, expressions, variables, conditionals, iteration, and functions, as well as object-oriented programming and graphics. Recommended for non-majors and students with less math and science background. Lab and workshop required.
BUILDING: WEGMN | ROOM: 1400
PREREQUISITES: None
|
CSC 170 |
Kostin R
|
An introduction to the World Wide Web and related technologies. Topics include HTML5 and CSS3, Progressive Enhancement, and Web page design. Emphasis is placed on fundamentals, industry standards and best practices. Additional topics include: web site construction techniques, mobile design issues, and Search Engine Optimization (SEO). Programming with JavaScript will be introduced.
BUILDING: GRGEN | ROOM: 101
|
CSC 171 |
Pawlicki T
|
Hands-on introduction to programming using the Java programming language. Teaches fundamentals of programming and more advanced topics. Emphasizes algorithmic thinking and computational problem solving and provides an introduction to the concepts and methods used in Computer Science. Required for all CSC majors. Lab and workshop required
BUILDING: HUTCH | ROOM: 141
PREREQUISITES: none
|
CSC 172 |
Zhupa E
|
Abstract data types (e.g., sets, mappings, and graphs) and their implementation as concrete data structures in Java. Analysis of the running times of programs operating on such data structures, and basic techniques for program design, analysis, and proof of correctness (e.g., induction and recursion). Lab required
BUILDING: HUTCH | ROOM: 141
PREREQUISITES: CSC 171 or equivalent; MTH 150 is required.
|
CSC 173 |
Ferguson G
|
An introduction to some of the most important formal models of computation, and their application to real-world computing problems.
BUILDING: DEWEY | ROOM: 1101
PREREQUISITES: CSC 172
|
CSC 174 |
Kostin R
|
"Front-end" is an industry term that refers to the focus on HTML, CSS and JavaScript, which differentiates this course from the formal programming courses. Topics include information architecture, visual design, and use of client libraries (mostly JS); we will also cover Content Management Systems and introduce web databases using PHP and MySQL.
BUILDING: GAVET | ROOM: 208
PREREQUISITES: Enforced pre-req of CSC170
|
CSC 186 |
Pawlicki T
|
This course is a hands-on lab based introduction to software engineering and computer programming using the development of computer/video games as the application area. Topics will include mesh modeling, level design, asset management, shading, texturing, lighting, event scripting, character rigging, and particle effects.
BUILDING: GAVET | ROOM: 244
PREREQUISITES: ECE114 or CSC161 or CSC171
|
CSC 191 (CSC 191 (P), CSC 291)
|
Schubert L
|
This course explores the possibility of consciousness in machines, both in the sense of perceptual awareness and self-awareness. Readings are from the AI literature as well as from philosophy and cognitive science. The course will begin with some general philosophical and cognitive science readings, and then shift emphasis to representational and computational aspects. Homework will include written answers to questions, essays, and -- for 291 students only -- a project that involves Lisp programming. The course will be suitable for writing credit. (4 hours, Spring)
Not offered every year.
BUILDING: HYLAN | ROOM: 201
PREREQUISITES: 191 Prerequisites: sophomore or higher standing, some programming experience;
291 Prerequisites: CSC 173 and one or more of 240, 242, 280 , or 282.
|
CSC 200H |
Nelson R
|
Intensive seminar on cooperative problem solving. Overview of the subdisciplines and the research of the University of Rochester’s computer science faculty. 200H required for the Honors B.S. in Computer Science.
BUILDING: MEL | ROOM: 205
|
CSC 210 |
Root S
|
The World Wide Web was born around 1990, so it is not much older than most of you. In this course, we will follow the growth of the Web from its toddler years, to early childhood, to its turbulent pre-teen and teenage years, and finally as it begins to mature as a young adult. Along this journey, you will learn influential Web technologies such as HTTP, HTML, JavaScript, CSS, the LAMP stack, XML, JSON, Ajax, WebSockets, and modern MVC frameworks. Even though you will be doing a lot of programming in this course, its purpose is not to teach you to become an expert in any particular language or framework. Web technologies change at a blistering pace, so specifics quickly get outdated. However, once you take this course and understand the fundamentals, you will be able to easily pick up new technologies on the fly. *No audits will be allowed for this course.
BUILDING: GAVET | ROOM: 206
PREREQUISITES: CSC172 or permission of the instructor.
|
CSC 212 (CSC 212 (P), CSC 412, TCS 412)
|
Hoque M
|
The course will explore the design, implementation, and evaluation of user-driven prototypes to be used by real users. Students will study the theoretical methods for design and evaluation, including requirements gathering, survey design, ethnography, rapid prototyping, and evaluation techniques. The theoretical knowledge will be supplemented with hands-on group projects including a final project. The final project will involve interactions with real-users along with a working prototype which hopefully could be deployed and used by people beyond the scope of this course.
BUILDING: CSB | ROOM: 209
PREREQUISITES: CSC 172 and CSC 242
|
CSC 214 |
Pawlicki T
|
Coursework covers user interface designs and functional algorithms for mobile devices (Android) and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management. Other topics include: object-oriented database API, animation, multi-threading and performance considerations
BUILDING: CSB | ROOM: 209
PREREQUISITES: CSC 172.
|
CSC 230 |
Nelson R
|
A robot can be defined as any artificial system that moves by itself under some sort of adaptive control. This course is intended to be a practical exercise in robot construction, with emphasis on creation of working robotic artifacts. The class will be divided into teams of 3-5, each of which will work to produce a separate mechanism. The robots to be built will be determined through discussion in the first couple of weeks.
BUILDING: HYLAN | ROOM: 105
|
CSC 240 (CSC 240 (P), CSC 440, DSC 240, DSC 440, TCS 440)
|
Pawlicki T
|
Fundamental concepts and techniques of data mining, including data attributes, data visualization, data pre-processing, mining frequent patterns, association and correlation, classification methods, and cluster analysis. Advanced topics include outlier detection, stream mining, and social media data mining. CSC 440, a graduate-level course, requires additional readings and a course project.
BUILDING: GAVET | ROOM: 202
PREREQUISITES: Prerequisites will be strictly enforced: CSC171, CSC 172 and MTH 161. Recommended: CSC 242 or CSC262; MTH165.
|
CSC 241 (BCS 247 (P), BCS 547, CSC 241, CSC 443, NSC 247, PHY 527)
|
Haefner R
|
This course will provide an introduction to computational neuroscience, the study of both the computations performed by the brain, and of computational models of neuronal responses. In the course we will focus on the visual system.
BUILDING: GAVET | ROOM: 206
PREREQUISITES: Programming experience is required, as well as familiarity with linear algebra and simple probability theory.
|
CSC 242 (BCS 232, CSC 242 (P))
|
Ferguson G
|
Introduces fundamental principles and techniques from Artificial Intelligence, including heuristic search, automated reasoning, handling uncertainty, and machine learning, to prepare students for advanced AI courses.
BUILDING: DEWEY | ROOM: 1101
PREREQUISITES: Prerequisites: MTH 150 and CSC 172. CSC 173 STRONGLY recommended.
|
CSC 246 (CSC 246 (P), CSC 446, ECE 409, TCS 446)
|
Gildea D
|
Mathematical foundations of classification, regression, and decision
making. Perceptron algorithm, logistic regression, and support vector
machines. Numerical parameter optimization, including gradient
descent and quasi-Newton methods. Expectation Maximization. Hidden
Markov models and reinforcement learning. Principal Components
Analysis. Learning theory including VC-dimension and PAC learning
guarantees.
BUILDING: WEGMN | ROOM: 1400
PREREQUISITES: MTH 164 and MTH 165
|
CSC 249 (BCS 236, BCS 536, CSC 249 (P), CSC 449, ECE 449, TCS 449)
|
Xu C
|
. Introduction to computer vision, including camera models, basic image processing, pattern and object recognition, and elements of human vision. Specific topics include geometric issues, statistical models, Hough transforms, color theory, texture, and optic flow. CSC 449, a graduate-level course, requires additional readings and assignments.
BUILDING: GRGEN | ROOM: 101
PREREQUISITES: MTH 161 and CSC 242
|
CSC 250 (CSC 250, CSC 450, LIN 250 (P), LIN 450)
|
Grimm S
|
This course addresses linguistic research questions through data science techniques. The course will focus on developing skills to (i) acquire and process a variety of language data, from using established corpora to capturing data in the wild, and (ii) to investigate language use, particularly syntactic and semantic phenomena, through descriptive and inferential statistical techniques. A significant part of the course will be devoted to hands-on projects and will include developing familiarity with using the programming languages Python and R to acquire and explore linguistic data. Familiarity with statistics and/or computational linguistics is advantageous, but not necessary.
BUILDING: HYLAN | ROOM: 203
PREREQUISITES: LIN110, and either LIN210, LIN220 or LIN225
|
CSC 252 (CSC 252 (P), CSC 452, TCS 452)
|
Zhu Y
|
Introduction to computer architecture and the layering of hardware/software systems. Topics include instruction set design; logical building blocks; computer arithmetic; processor organization; the memory hierarchy (registers, caches, main memory, and secondary storage); I/O—buses, devices, and interrupts; microcode and assembly language; virtual machines; the roles of the assembler, linker, compiler, and operating system; technological trends and the future of computing hardware. Several programming assignments required.
BUILDING: WEGMN | ROOM: 1400
PREREQUISITES: MTH150 and CSC 172
|
CSC 255 (CSC 255 (P), CSC 455, ECE 455, TCS 455)
|
Pai S
|
Programming is the automation of information processing. Program analysis and transformation is the automation of programming itself---how much a program can understand and improve other programs. Because of the diversity and complexity of computer hardware, programmers increasingly depend on automation in compilers and other tools to deliver efficient and reliable software. This course combines fundamental principles and (hands-on) practical applications. Specific topics include data flow and dependence theories; static and dynamic program transformation including parallelization; memory and cache management; type checking and program verification; and performance analysis and modeling. The knowledge and practice will help students to become experts in software performance and correctness. Students taking the graduate level will have additional course requirements and a more difficult project.
BUILDING: HYLAN | ROOM: 202
PREREQUISITES: CSC 254; CSC 252 recommended
|
CSC 258 (CSC 258 (P), CSC 458, TCS 458)
|
Scott M
|
Principles of parallel and distributed systems, and the associated implementation and performance issues. Topics covered will include programming interfaces to parallel and distributed computing, interprocess communication, synchronization, and consistency models, fault tolerance and reliability, distributed process management, distributed file systems, multiprocessor architectures, parallel program optimization, and parallelizing compilers. Students taking this course at the 400 level will be required to complete additional readings and/or assignments.
BUILDING: DEWEY | ROOM: 2110E
PREREQUISITES: CSC 254, CSC 256 and consent of instructor
|
CSC 261 (CSC 261 (P), CSC 461, DSC 261, DSC 461, TCS 461)
|
Zhupa E
|
This course presents the fundamental concepts of database design and use. It provides a study of data models, data description languages, and query facilities including relational algebra and SQL, data normalization, transactions and their properties, physical data organization and indexing, security issues and object databases. It also looks at the new trends in databases. The knowledge of the above topics will be applied in the design and implementation of a database application using a target database management system as part of a semester-long group project.
BUILDING: LATT | ROOM: 201
PREREQUISITES: CSC172; CSC173 and CSC 252 recommended
|
CSC 265 (CSC 265, CSC 465, DSC 265 (P), DSC 465, TCS 465)
|
Almudevar A
|
This course is a continuation of CSC262, covering intermediate statistical methodology and related computational methods, with an emphasis on the R statistical computing environment.
BUILDING: WEGMN | ROOM: 1400
PREREQUISITES: CSC 262 AND MTH 165 or MTH 173 or MTH 235
|
CSC 273W |
Loporcaro J
|
In this course, students prepare, critique, and discuss written materials relevant to Computer Science.
BUILDING: MEL | ROOM: 218
|
CSC 278 (CSC 278 (P), CSC 478, TCS 478)
|
Criswell J
|
This course will teach students the foundations of computer security. Students will learn what security is, the design principles of secure systems, how security is enforced, and how security is compromised. Topics include access controls, information flow, basic applications of cryptography, buffer overflow attacks, and malware.
BUILDING: HYLAN | ROOM: 202
PREREQUISITES: CSC252
|
CSC 280 (CSC 280 (P), CSC 480, TCS 480)
|
Venkitasubram
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability.
BUILDING: WEGMN | ROOM: 1400
PREREQUISITES: CSC 173 and MTH 150
|
CSC 284 (CSC 284 (P), CSC 484, TCS 484)
|
Stefankovic D
|
Advanced study of design and analysis of algorithms. Topics typically include: growth of functions; recurrences; probabilistic analysis and randomized algorithms; maximum flow; sorting networks; expander graphs; matrix operations; linear programming; discrete Fourier transform; number-theoretic algorithms; string matching; computational geometry; NP-completeness; approximation algorithms. Students taking this course at the 400 level may be required to complete additional tests, readings or assignments.
BUILDING: WILMT | ROOM: 116
PREREQUISITES: CSC 282
|
CSC 291 (CSC 191 (P), CSC 291)
|
Schubert L
|
This course explores the possibility of consciousness in machines, both in the sense of perceptual awareness and self-awareness. Readings are from the AI literature as well as from philosophy and cognitive science. The course will begin with some general philosophical and cognitive science readings, and then shift emphasis to representational and computational aspects. Homework will include written answers to questions, essays, and -- for 291 students only -- a project that involves Lisp programming. The course will be suitable for writing credit. (4 hours, Spring)
Not offered every year.
BUILDING: HYLAN | ROOM: 201
PREREQUISITES: 191 Prerequisites: sophomore or higher standing, some programming experience;
291 Prerequisites: CSC 173 and one or more of 240, 242, 280 , or 282.
|
CSC 299 |
Loporcaro J
|
Computers and the Internet, perhaps more than any other technology, have transformed society over the past 50 years, with dramatic increases in human productivity; an explosion of options for news, entertainment, and communication; and fundamental breakthroughs in almost every branch of science and engineering. At the same time, they have contributed to unprecedented threats to privacy; whole new categories of crime and anti-social behavior; major disruptions in the job market; and the large-scale concentration of risk into systems capable of catastrophic failure. In this discussion- and writing-oriented class, we will consider all of this and more, with the goal of better understanding how to shape technological change in ways that maximize the benefits and minimize the costs. Offers upper-level writing credit in Computer Science.
BUILDING: HYLAN | ROOM: 201
|
CSC 390 |
|
No description
BUILDING: | ROOM:
|
CSC 391 |
|
No description
BUILDING: | ROOM:
|
CSC 391H |
|
No description
BUILDING: | ROOM:
|
CSC 391W |
|
No description
BUILDING: | ROOM:
|
CSC 393 |
|
No description
BUILDING: | ROOM:
|
CSC 393H |
|
No description
BUILDING: | ROOM:
|
CSC 394 |
|
No description
BUILDING: | ROOM:
|
CSC 395 |
|
No description
BUILDING: | ROOM:
|
CSC 395H |
|
No description
BUILDING: | ROOM:
|
CSC 395W |
|
No description
BUILDING: | ROOM:
|
CSC 396 |
|
No description
BUILDING: | ROOM:
|