A project-based course that guides students through creating a novel mobile application - from generative research to design, usability, implementation and field evaluation.
Learn everything you need to know to get started building a MongoDB-based app.
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.
Learn to program using the Java programming language.
Investigate the basic concepts behind programming languages, with a strong emphasis on the techniques and benefits of functional programming. Use the programming languages ML, Racket, and Ruby in ways that will teach you how the pieces of a language fit together to create more than the sum of the parts. Gain new software skills and the concepts needed to learn new languages on your own.
Ce cours initie à la programmation en utilisant le langage Java. Il ne présuppose pas de connaissance préalable. Les aspects plus avancés (programmation orientée objet) sont donnés dans un cours suivant, «Introduction à la programmation orientée objet (en Java)».
This course will touch upon a variety of fundamental topics within the field of Computer Science and will use Java, a high-level, portable, and well-constructed computer programming language developed by Sun Microsystems (now Oracle), to demonstrate those principles.
This course is a continuation of the first-semester course titled CS101: Introduction to Computer Science I. It will introduce you to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. We will begin with a comparison between Java—the programming language utilized last semester—and C++, another popular, industry-standard programming language.
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers basic iterable data types, sorting, and searching algorithms.
In this course you will learn several fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures, randomized algorithms, and more.
For anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice.
Join the data revolution. Companies are searching for data scientists. This specialized field demands multiple skills not easy to obtain through conventional curricula. Introduce yourself to the basics of data science and leave armed with practical experience programming massive databases.
Examines key computational abstraction levels below modern high-level languages.
In this course we will learn how to apply patterns, pattern languages, and frameworks to alleviate the complexity of developing concurrent and networked software.
The course is an introduction to linear and discrete optimization - an important part of computational mathematics with a wide range of applications in many areas of everyday life.
This course is an upper division computer science course that studies the design of programming languages.
The Computer Science program will provide you with a breadth of experience in software, hardware, and mathematics. As a Computer Science Major, you will be required to complete a total of twenty-one courses.
To earn the equivalent of a minor in Computer Science, you must complete three or four broad introductory-level courses (Required Core Courses), three upper-level courses (Elective Courses), and one foundational Mathematics course.