COMP
110: Introduction to Programming (Spring 2010)
Course
Info:
Time: MWF 1pm-1:50pm
Place: SN 014 –
Sitterson Hall
Instructor: Ms. Catie
Welsh, cwelsh [at] cs.unc.edu
Office Hours: M 10am-11am, W
2:00-3:00pm, Sitterson 311 or by appointment
URL: http://cs.unc.edu/~cwelsh/COMP110/
Textbook
(Required):
Java: Introduction to Problem Solving and Programming. 5th
Edition.
Walter Savitch & Frank Carrano. Pearson/Prentice Hall © 2009, ISBN: 0136072259.
Description:
This
course is an introduction to programming for students with little or no
programming experience. There are two primary goals: to learn fundamental
programming skills and to learn systematic and logical thinking. Basic
programming concepts include: variables, loops, conditionals, arrays,
functions, and classes. Basic problem solving approaches include: abstraction,
division into sequential pieces, and division into layers. All code is written
in the Java programming language.
Objectives:
By
the end of this semester, students should be able to:
- Develop algorithms.
- Develop problem solving techniques.
- Apply fundamental programming concepts, such as
variables, loops, conditionals, functions, and arrays, in programming
assignments.
- Use pseudocode and Object Oriented design techniques
for the planning and development of programming sequences.
- Understand the basic components of computer programming
in Java, which can be applied to other languages as well (C, C++, Python,
etc.)
- Analyze existing programs to
identify problems or potential improvements.
Prerequisites:
- Although this course has no prerequisites,
a basic background in math, especially algebra, is required.
- I assume basic computer skills
(using a web browser, writing email, using word processing applications,
downloading and installing software, etc.).
- If you are not comfortable
using a computer, consider taking COMP 101 ("Power Tools for the
Mind") before taking COMP 110.
- If you have previous
programming experience, such as in a high school course, (especially, a
Computer Science AP course) consider taking COMP 401 ("Foundations of
Programming") instead. If you are interested in taking COMP 401
without taking COMP 110, please see me first.
Topics:
- Introduction to computers and
programming tools.
- Variables, types, values and
declarations
- Input and output
- Expressions and statements
- Flow control
- Loops
- Arrays
- Object-Oriented Programming
What to Expect:
Here are the major parts of all the
assignments and projects.
- Reading assignments. These will be general directions for reading your
text book. It is a better idea to do them before coming to each
class.
- Assignments. Several written homework will be assigned to help you
to better understand the definitions and concepts. There will also be
programming assignments, which require the submission of a Java program
which could generate the correct results.
- Exams. There will be an in-class written mid-term exam and a
written final exam during the (University) scheduled time slot.
- Attendance: Attendance is required for this class, and is a
factor in your grade. This includes class participation.
- Grading
Labs and Homework: 60%
Mid-term exam: 15%
Final exam: 20%
Attendance: 5%
Late Policy:
An assignment is considered late if it
is submitted after 11:59pm on the day it is due. Late assignments will
not be accepted for credit. Each student has 3 free late days, which may
be used at any time and in any combination. Unused late days are each
worth 2 extra credit points on the final exam.
Honor Code:
- You may discuss general
approaches for the assignments, but all code must be your own, and
you must be able to explain your code.
- Exams and quizzes are to be
entirely your own work. You may not collaborate with other students or use
any computers, books, notes, or previously completed assignments.
- Please be familiar with the UNC
Honor Code (http://honor.unc.edu) and
the Computer Science Honor Code ( http://www.cs.unc.edu/Admin/Courses/HonorCode.html
)
- You will be required to sign an
honor code pledge to hand in with every assignment.