Comp 110-002 – 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/~sasa/teaching/fall2007/comp110/CourseIntroduction.pdf |
|
Sasa Junuzovic |
Office: SN 336 Phone: 919-962-1734 Email: sasa@cs.unc.edu Office Hours: M
4:30-5:30, Th 2:00-3:00 (or by appointment) |
|
Room: GA 008 |
Time: M W F – 3:00-4:15 NOTE: Bring your laptops every Friday. You will
use them for programming exercises. |
|
|
Unit |
Slides |
Notes |
Assignment |
|
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 |
|
|
|
Material |
|
Recitation 1 – Java Installation |
Windows XP + Internet Explorer Users (PowerPoint 2007, PowerPoint 2003, pdf) Windows XP + Mozilla Firefox Users (PowerPoint 2007, PowerPoint 2003, pdf) Deliverable (PowerPoint 2007, PowerPoint 2003, pdf) |
|
Recitation 2 – Review |
Slides and Deliverable (PowerPoint 2007, PowerPoint 2003, pdf) |
|
Recitation 3 – Review |
Slides (PowerPoint 2007, PowerPoint 2003, pdf) |
|
Eclipse Setup |
Slides (PowerPoint 2007, PowerPoint 2003, pdf) |
|
ObjectEditor |
ObjectEditor (most current version) |
|
|
Material |
|
Midterm 1 |
(pdf) |
|
Midterm 2 |
(pdf) |
|
Final Exam |
(pdf) |