Comp 110-003 - Fall 2011 - Introduction to Programming
This is an
introduction to algorithms, their design, and their representation in a
computer programming language. You will learn several programming language
constructs including variables, types, conditionals, loops, functions,
procedures, arrays, files, classes, interfaces, and inheritance. In addition
you will apply several techniques using these constructs including stepwise
refinement, modularity, recursion, design patterns, and abstraction. If you already know
most of these constructs and techniques, then you should take Comp 401. In
this course, we will assume you have never programmed before. If you want to
learn how to use a computer rather than program it, you should take Comp 101. Although this
course will teach you the programming language Java, it is a course in
programming rather than a course in Java. We will emphasize conceptual
material rather than practical skills. By the end of the
semester you will be practiced in the skills of algorithmic thinking. Your
approach to complex problems will be more precise and logical. You will
devise solutions in a step by step manner creating abstractions that clarify
and simplify, and you will gain experience in analyzing and predicting the
behavior of complex systems. After this course,
even if you never program a computer again, your thinking skills will be
augmented and sharpened. In fact, you will approach problem solving in a
different way. This will be of value to you throughout your life and in a
surprising variety of contexts. |
Syllabus:www.cs.unc.edu/~carterjl/teaching/CourseIntroduction.pdf |
Jason Carter |
Office: FB Phone: Email: carterjl@cs.unc.edu Office Hours: Tuesday - 2:00-3:00, Wednesday 4:00-5:00 (or by appointment) Office hours on Tuesday are in SN 155. Office hours on Wednesday are in SN 115.
|
Room: SN011 |
Time: M W F - 3:00-3:50 NOTE: Bring your laptops every Friday. You will
use them for programming exercises. |
|
Unit |
Assignment |
Slides |
Notes |
1 |
Theater Analogy Of a Computer |
|
||
2 |
Objects |
|||
3 |
Functions |
|||
4 |
State |
|||
5 |
Style |
|||
6 |
Types |
|||
7 |
Representation and Graphics |
|
||
8 |
Pointers |
|
||
9 |
Case Study: Loan |
|||
10 |
Main, Console Input, and Intro to Conditionals and Loops |
|
||
11 |
More Types |
|
||
12 |
Conditionals |
|
||
13 |
Loops |
|||
14 |
Arrays |
|||
15 |
MVC |
|
||
16 |
Recursion |
|||
17 |
Inheritance |
|
ObjectEditor
Eclipse Helper
|
How to Submit An Assignment How to Install Eclipse |
Submit an Assignment Installing Eclipse (PowerPoint 2007) |
Recitation 1 - 9/9/2011 |
Recitation 1 |
Recitation 3 - 9/23/2011 |
Recitation 3 |
Demo Code - 10/28/2011 |
Demo Code - (Zip File) |