Computers and networks are more than mere tools: They are like living things, themselves. Unlike a rake, a pen, or even a jackhammer, a digital technology is programmed. This means it comes with instructions not just for its use, but also for itself. And as such technologies come to characterize the future of the way we live and work, the people programming them take on an increasingly important role in shaping our world and how it works.
— Douglas Rushkoff, author of Program or Be Programmed
Announcements
- Have a good Summer!
- Sign up to be a UTA for CompSci 101 in the Fall
- View previous announcements
Description
Introduction to practices and principles of computer science and programming and their impact on and potential to change the world. Algorithmic, problem-solving, and programming techniques in domains such as art, data visualization, mathematics, natural and social sciences. Programming using high-level languages and design techniques emphasizing abstraction, encapsulation, and problem decomposition. Design, implementation, testing, and analysis of algorithms and programs.
No previous programming experience is required.
Feedback
The Computer Science department at
Duke University aims to excel in
education and research. To ensure that our
courses fulfill student needs and expectations, you are encouraged to
submit
constructive comments about this course anonymously or use
the suggestion box icon,
,
at the bottom of each page. These comments will be
read by the Director of
Undergraduate Studies for Teaching and Learning in addition to the professor teaching the course. Our
goal is to adapt the subject and delivery of our courses to meet student
needs while maintaining our high standards.