Course Objectives and Overview
This course is an introduction to solving problems using a computer. You will learn different approaches to problem-solving; algorithms and their design; and fundamental programming skills.
An algorithm is an informal description of operations followed to solve a problem.
You will learn how to transform an algorithm into an executable program using the programming language Java.
During the course you will learn the basic building blocks of high-level programming languages (loops, conditionals, functions, arrays, classes...).
Prerequisites
This course fulfills the Mathematics Perspective Requirement.
This course has no prerequisites, but a basic background in math is needed. Basic computer skills (using a web browser, writing email, using word processing applications, downloading and installing software) are assumed for COMP 14. If you are not comfortable using a computer, consider taking COMP 4 ("Power Tools for the Mind") before taking COMP 14.
If you have previous programming experience, such as in a high school course, (especially, a Computer Science AP course) consider taking COMP 114 ("Foundation of Programming") instead.Meeting times and place
MTWRF, 9:45 - 11:15, at Sitterson Hall SN 014.
Instructor
Miguel A. Otaduy (PhD student in Computer Science)
Office: Sitterson Hall SN 335.
Phone: 919-962-1875.
Email: otaduy@cs.unc.edu
Office hours: MTWR, 2:00 - 3:00, at SN 335.
Textbook
Java Programming: From Problem Analysis to Program Design
D. Malik, P. Nair.
Grading
Assignments (7)
45%
Quizzes (4)
10%
Midterm exam
15%
Final exam
25%
Class participation
5%
Homework assignments
There will be 7 homework assignments. Source code, as well as reports, must be turned in at class-time or by midnight on the due date, at otaduy@cs.unc.edu. No late assignments are allowed.
Quizzes
Almost every Friday there will be a short quiz, to review the topics covered during the week.
Exams
Exams will be closed-book.
Midterm exam: May 27, 9:45am-11:15am, SN 014.
Final exam: June 14, 8am-11am, SN 014.
Topics
- Introduction, computers and programming, software tools.
- Data types, variables, objects and classes.
- Input and output.
- Boolean expressions, conditional statements.
- Loops.
- Object-oriented programming.
- Arrays.
- Java applets.