2. PROGRAMMING
Computer programming is the process of
writing, testing, troubleshooting and
maintaining the source code of computer
programs. This source code is written in a
programming language. The code may be
a modification of an existing source or
something completely new. The purpose
of programming is to create a program
that exhibits a certain desired behavior
(customization). The process of writing
source code often requires expertise in
many different subjects, including
knowledge of the application domain,
specialized algorithms and formal logic.
3. COURSES
• PROGRAMMING FOR DESIGNERS
In this course, Prof. Malcolm Ryan gives 17 video lectures on Programming for
Designers. An introduction to the concepts and techniques of object oriented
programming with a focus on the construction of interactive multimedia
applications. Delivery is through lectures and computer lab classes.
Assessment will be via a number of in-class exercises and staged
assignments.
• PROGRAMMING AND DATA
STRUCTURE
In this course, Prof. P.P. Chakraborty gives 32 video lectures
on Programming and Data Structure. In computer
programming, a data structure may be selected or designed to
store data for the purpose of working on it with
various algorithms.
4. • INTRODUCTION TO COMPUTER
GRAPHICS
Graphics display devices, Input devices, Rendering pipeline,
Raster
Graphics: Line and Circle drawing algorithms, Windowing,
Clipping: Cohen and Sutherland line clipping, Cyrus-beck
clipping method, 2D and 3D Geometrical Transformations,
Viewing Transformations: parallel and perspective projection,
Curves and Surfaces: Cubic splines, Bezier curves, B-splines,
Tensor product surfaces, Surface of revolution Sweep surfaces,
Fractal curves and surfaces, Hidden line/surface removal
methods, Illumination model, Polygon Shading: Gouraud,
Phong, Introduction to Ray-tracing, Animation.
• iPhone APPLICATION PROGRAMMING
In this course, Prof. Alan Cannistraro, Prof. Josh Shaffer and
Prof. Evan Doll give 18 video lectures on iPhone Application
Programming. Lectures were taped April 1, 2009 - June 3,
2009. A software application developed for use on Apple's iOS-
powered iPhone devices. iPhone apps are available through the
Apple App Store and are designed to run on Apple's iOS mobile
operating system, which powers the iPhone as well as Apple's
iPad and iPod Touch devices.
5. • OPERATING SYSTEM AND SYSTEM
PROGRAMMING
An operating system (OS) is system software that manages
computer hardware and software resources and provides
common services for computer programs. ... Other specialized
classes of operating systems, such as embedded and real-
time systems, exist for many applications.
• INTRODUCTION TO COMPUTER SCIENCE
In this course, Harvard Professor David J. Malan gives 32 video
lectures on Introduction to Computer Science. This is a first course in
computer science at Harvard College for concentrators and non-
concentrators alike. More than just teach you how to program, this
course teaches you how to think more methodically and how to solve
problems more effectively. As such, its lessons are applicable well
beyond the boundaries of computer science itself. That the course
does teach you how to program, though, is perhaps its most
empowering return. With this skill comes the ability to solve real-
world problems in ways and at speeds beyond the abilities of most
humans.
6. • BUILDING DYNAMIC WEBSITES
In this course, David J. Malan gives 13 video lectures on Building Dynamic
Websites. Today's websites are increasingly dynamic. Pages are no longer
static HTML files but instead generated by scripts and database calls. User
interfaces are more seamless, with technologies like Ajax replacing traditional
page reloads. This course teaches students how to build dynamic websites
with Ajax and with Linux, Apache, MySQL, and PHP (LAMP), one of today's
most popular frameworks. Students learn how to set up domain names with
DNS, how to structure pages with XHTML and CSS, how to program in
JavaScript and PHP, how to configure Apache and MySQL, how to design and
query databases with SQL, how to use Ajax with both XML and JSON, and how
to build mashups
• PROGRAMING PARADIGMS
Programming Paradigms (CS107) introduces several programming languages,
including C, Assembly, C++, Concurrent Programming, Scheme, and Python.
The class aims to teach students how to write code for each of these
individual languages and to understand the programming paradigms behind
these languages.
7. • PROGRAMMING ABSTRACTION
This course (CS 106B) is the successor to CS 106A and covers more
advanced programming topics such as recursion, algorithmic analysis,
and data abstraction. It is taught using the C++ programming
language, which is similar to both C and Java. In the past when both
CS 106A and CS106B were taught in C/C++, the coupling between the
two classes was very tight and it was unheard for students to take
CS106B without having completed our CS 106A (we recommended CS
106X instead).
• INTRODUCTION TO COMPUTER SCIENCE
AND PROGRAMMING
This subject is aimed at students with little or no programming
experience. It aims to provide students with an understanding of the
role computation can play in solving problems. It also aims to help
students, regardless of their major, to feel justifiably confident of
their ability to write small programs that allow them to accomplish
useful goals. The class will use the Python™ programming language.