COMP 110-001, Introduction to Programming

Announcements


  • Monday office hours have been changed to 10am-11am for the rest of the semester.
  • If the course is full and you want to take this class, please use the "waitlist" registration option (see the Registrar's Registration web page) and come to class on the first day. There are typically a lot of drop/adds at the start and so hopefully you will make it in.
  • The first lecture will be held on January 10, 2011.
  •  

    Course 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.

    This material will be learned through a combination of reading assignments, analysis assignments and program writing. One objective of the course is to further develop your programming skill. There will be 6 - 7 programming assignments. The Friday meetings of this course will usually, but not always, be labs. Bring your laptop on Fridays unless otherwise instructed. Attendance at labs is required.

    The syllabus for this course can be found at http://cs.unc.edu/~cwelsh/COMP110/syllabus.html.

    Guide for How to Succeed in COMP 110

     

    Book, Course Information, and Prerequisites


    book_cover.jpg

    Textbook: Java: An Introduction to Problem Solving & Programming: Fifth Edition
    by Walter Savitch and Frank Carrano, Prentice Hall © 2009,
    ISBN: 0136072259.
    Credit Hours: 3
    Location: SN014 (Sitterson Hall)
    Time: MWF 1:00-1:50PM
    URL: http://cs.unc.edu/~cwelsh/COMP110/
    Prerequisite: There are no prerequisite courses. If you have already taken a
    computer programming course, you probably should be
    enrolled in Comp 401.


    Course Instructor


    Instructor: Catie Welsh
    Office: SN311
    Email: cwelsh@cs.unc.edu
    Office Hours: M 10am-11am, W 2:00-3:00pm (Held in SN311)







    Honor Code


    Please familiarize yourself with the honor code policy for computer science courses. It can be found at http://www.cs.unc.edu/Admin/Courses/HonorCode.html. You will be required to complete a signed pledge to hand in with every programming assignment.

    Schedule


    This is a tentative schedule and subject to change as needed.

    Date Lecture Topic(s) Reading Assignment Homework
    M-January 10 Introduction   Homework 0
    W-January 12 Computer Basics
    Designing Programs
    Sections 1.1-1.2 Homework 0 due
    F-January 14 Eclipse
    Java 6.0 Documentation
    Notes
    Installing Eclipse
    FirstProgram.java
     
    M-January 17 Holiday - No Class    
    W-January 19 Designing Programs Section 1.3 Program 1
    F-January 21   Section 2.1
    VendingMachine.java
    TotalCost.java
    Lab 1
    M-January 24 Primitive Types and Strings Sections 2.1-2.2  
    W-January 26 Console I/O
    Jan26.java
    Sections 2.3-2.4
    Order of Operations
    StringsAndChars.java
    TypeCasting.java
     
    F-January 28   Section 2.5
    StringFun.java
    Lab 2
    Lab 1 due
    M-January 31 Review of Chapters 1 & 2 Chapters 1 and 2 Review Worksheet Chapters 1 and 2 Review Worksheet Solutions
    W-February 2 Branching Statements Section 3.1
    DecFormat.java
    Program 2
    Program 2 Tips
    Program 1 due
    F-February 4   Smiley.java Lab 3
    Lab 2 due
    M-February 7 If/Else and Switch Statements Section 3.3  
    W-February 9 Loop Statements Sections 4.1-4.2  
    F-February 11     Lab 3 due
    M-February 14 More Loops Loops.java  
    W-February 16 Review Loops and Strings UNCStats.java
    Strings and Loop Review Worksheet
    Program 3
    Program 2 due
    Strings and Loop Review Worksheet Solutions
    F-February 18     Lab 4
    M-February 21 Classes Section 5.1  
    W-February 23 More Classes In-Class Assignment
        StudentMain.java
    Solution:
        Student.java
     
    F-February 25   SmileyClass.java
    SmileyMain.java
    Lab 5
    Lab 4 due
    M-February 28 Information Hiding and Encapsulation Section 5.2  
    W-March 2 Objects and References Section 5.3 Program 3 due
    F-March 4 Exam Review Practice Midterm
    Practice Midterm Solutions
    Lab 5 Solution
        SmileyMain.java
        SmileyClass.java
    Lab 5 due
    M-March 7 Spring Break    
    W-March 9 Spring Break    
    F-March 11 Spring Break    
    M-March 14 Midterm Exam    
    W-March 16 Go Over Midterm Exam Midterm Solutions  
    F-March 18     Lab 6
    M-March 21 Constructors and Static Methods Section 6.1-6.2
    CalculateStuff.java
    MathUtilities.java
    Comp110Student.java
    CreateClassRoll.java
     
    W-March 23 Designing and Overloading Methods Sections 6.3-6.4
    MathUtils.java
    MathUtilsDriver.java
     
    F-March 25   Lab7.java
    FunPatternPanel.java
    Lab 7
    Lab 6 due
    M-March 28 Arrays Section 7.1-7.3  
    W-March 30 More Arrays ArrayTest.java
    March30.java
     
    F-April 1     Lab 8
    Lab 7 due
    M-April 4 Multidimensional Arrays Section 7.5
    MyArrayTest.java
    Memory.java
    Program 4
    W-April 6 Review Arrays
    Lab 7 Comments
    Array Review Worksheet
    Array Review Worksheet Solutions
    Lab 7 Class Solutions
    F-April 8 Help with Program 4   Lab 8 due
    M-April 11 Inheritance Sections 8.1-8.3  
    W-April 13 Inheritance Person.java Athlete.java ExtremeAthlete.java HighJumper.java ShotPutter.java XGamesSkater.java Sports.java  
    F-April 15 Help with Program 4   Program 4 Early Code Check
    M-April 18 Inheritance and Polymorphism    
    W-April 20 Intro to Search Algorithms Section 7.4  
    F-April 22 Holiday - No Class    
    M-April 25 Review Array/Inheritance Review
    Array/Inheritance Review Solutions
     
    W-April 27 Final Exam Review Example Exams From the Past
    These exams may cover more material than we did. Do not worry about topics that we did not cover.
    exam 0
    exam 1
    exam 2
    Program 4 due
    F-May 6 Final Exam, 12:00-3:00pm