UNCW Home UNCW HomeBreaking News! Click here for details.
 CSC 121 - Introduction to Computer Science I - Spring - 2013

Schedule and Assignments  
121-001   
121-002   
121-800   
 LEC: MW 09:00 am - 09:50 am CI 1012
 LEC: MW 09:00 am - 09:50 am CI 1012
 online
 LAB -001: M 12:00 pm - 01:40 pm CI 2006
 
LAB -002: W 12:00 pm - 01:40 pm CI 2006
 
online
 Instructor:
Jack Tompkins
 Office: CI 2034  Phone: 962-7013
   Email:  tompkinsj@uncw.edu
   Office Hours*: 10:00-10:50 am MW
    *Students are welcome to ask questions any time my door is open and may schedule appointments outside office hours.

Supplemental Instruction (SI) Assistants:
Katelyn Kerns
    SI Sessions in CI 2006 Mondays 6:00 - 7:00 pm -  Group review and discussion - 2-4: common for-loops used to process arrays          
    Email:  kbk7221
    Office Hours:  available for University provided one-on-one tutoring via the University Learning Center
Jazmin Capezza 
    SI Sessions in CI 1012 Wednesdays 11:00 - 11:45 am -  Group review and discussion 
                    1-23: Surviving 121 and Arrays, 1-30: Loops & Array Processing Code, 2-6: 2D Arrays & Nested For Loops, 2-13: Exam Review
     Email:  jlc4691
    Office:  CI 2055
    Office Hours:  Monday & Friday: 2 - 5 pm, Wednesday 12 - 3 pm, Tuesday & Thursday 9:30 - 11:00 am
                           No office hours on 1/24, 2/7, 3/14, and 3/15.

UNCW CATALOGUE DESCRIPTION

CSC 121. Introduction to Computer Science I (3) Prerequisite: MAT 111 or 115. Problem-solving methods and algorithms in a modern high-level programming language. Introduces classes and objects; control structures; arrays; characters and strings. Emphasis on programming style and the design, coding, and testing of complete programs. A grade of "C" (2.00) or better is required for taking any course for which CSC 121 is prerequisite. Two lecture and two laboratory hours each week.

GENERAL COURSE INFORMATION

This is the first required course for Computer Science majors. Students intending to major in Computer Science are encouraged to take CSC 133 (Discrete Structures) during the same semester as CSC 121 except in the summer when these courses should be taken separately. In CSC 133 students will learn the logic and mathematics underlying computer science.

CSC 121 is the first of a three course sequence (CSC 121, 221, 332) on computer programming using the JavaTM programming language. No previous programming experience is assumed. In these courses students will learn many core concepts in computer science and the fundamentals of software design and development. Students will learn basic problem solving strategies and common design patterns in order to expedite the software development process. Students will also discover that computer programming is an art and beyond a program that "works" are issues of aesthetics, simplicity, and elegance.

CSC 121 is not an easy course, but students find it rewarding and well worth the effort. Students should expect to spend  a minimum of 3 to 4 hours per day on this course. The recommended daily sequence is:

  1. read the 10-15 pages of required reading and review the lecture (in pdf format) 
  2. complete the lab for that day -screen cast videos (requiring high speed internet) walk you through
  3. complete the CodeLab drill and practice  (expect to allocate 1.5 to 2 hours)
  4. send me an email with any questions

The course has four components: 

REQUIRED TEXTBOOK
Introduction to Programming in Java: An Interdisciplinary Approach
by

Robert Sedgewick, Princeton University
Kevin Wayne, Princeton University

ISBN-10: 0321498054
ISBN-13: 9780321498052
 

CODELAB REGISTRATION:

  1. Go to www.tcgo1.com OR www.tcgo2.com
  2. Click "Register for CodeLab"
  3. Choose "I am a student in a course ..." and click CONTINUE
  4. SECTION ACCESS CODES: 
    Section 001 use  
    NORT-9913-WZBJ-15,
    Section 002 use  NORT-9914-WZKS-15,
    Section 800 use  NORT-9915-CKNJ-15,

                    Course Title: Computer Science I 
                    Section Number: 001, 002, 800 as appropriate          

    click CONTINUE
  5. Continue filling out the forms being careful to enter your UNCW email address and first and last names as they will appear on the roster
Once registered, students can submit solutions to 10 exercises. Full access is required and costs $25. Wait until you have completed the first 10 exercises and tried the first Lab before paying for full access.
GETTING FULL ACCESS:
  1. Log in to CodeLab
  2. Click LOBBY
  3. Click the button "Get Full Access" follow the directions

Downloads: JDK  (setting the path variable) / Eclipse / Algoritharium

Required Reading: Each chapter section per the Day's schedule The chapter numbers are hyperlinks to the authors' extensive web resources.

Chapter 1. Elements of Programming

Chapter 2. Functions and Modules

Chapter 3. Object-Oriented Programming
Chapter 4. Algorithms and Data Structures

Final Exam Review: Glossary / Keywords. Read the course minimal competencies carefully. These are the expected learning goals for this semester (in preparation for subsequent course work) and will tested on the final exam.

COURSE REQUIREMENTS AND GRADING CRITERIA

Programming concepts will be presented in the required reading and lecture notes. This includes algorithms, Java syntax and semantics, program design, and discussion of programming projects and labs. Exams will take place in Blackboard. You should labs and Codelab assignments prepared by having read the sections that are listed for that day on the class schedule. Sample programs will be linked to the course schedule. Check the schedule daily for updates.

In choosing UNCW, you have become part of our community of scholars. We recognize that the UNCW learning experience is challenging and requires hard work. It also requires a commitment to make time available to do that hard work. The university expects you to make academics your highest priority by dedicating your time and energy to training your mind and acquiring knowledge. Academic success in critical thinking and problem solving prepares you for the changes and challenges you will encounter in the future. Our faculty and academic support resources are readily available as partners in this effort, but the primary responsibility for learning is yours.

Honor Code

It is the responsibility of every student to uphold and maintain the UNCW Academic Honor Code (see Section V of your Student Handbook). You violate the honor code when you represent someone else's work as your own. Programming assignments may be discussed at a conceptual level with other students but details and coding must be your own. Copying and team collaboration is prohibited.
Academic Honor Code

Policies

UNCW practices a zero-tolerance policy for violence and harassment of any kind.  For emergencies contact UNCW CARE at 962-2273, Campus Police at 962-3184, or Wilmington Police at 911. 

Students with Disabilities

If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register with the Office of Disability Services in Westside Hall (extension 3746) and obtain a copy of your Accommodation Letter. You should then meet with your instructor to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.

Student Learning Outcomes

  1. Students develop  understanding of basic object-oriented concepts like classes, methods, and objects, one and two-dimensional arrays, and basic program control. [MS1]  [QRE2]
  2. Students work on program development techniques to describe and understand the problem statement, think through input/process/output, leading to geometric problem representation and finally coding. [MS1] [QRE1]  [QRE2]
  3. Students learn program control structures. [MS1]  [QRE3]
  4. Students learn data structures such as Strings, 1-D arrays, 2-D arrays, and arrays of objects. [MS1]  [QRE3]
  5. Students learn to implement algorithms to solve a variety of problems, for instance those related to array processing, statistical calculations, image and audio processing, and text processing.   [MS3]  [QRE1]
  6. Students learn to work on modular programming, develop, debug and compiling parts of a larger program.  [MS3]
  7. Students learn to work with programming language specific software libraries.  [MS2]   [MS3]  [QRE2]
  8. Students are introduced to File reading and writing.  [MS2]   [MS3]  [QRE3]
  9. Students learn to use software development tools from command line compile and run commands to a sophisticated Integrated Development Environment.  [MS2]  [QRE3]

Course Student Learning Outcomes and Course Assessment Plan Assessment Instruments
Course Student Learning Outcomes CodeLab Blackboard
Quizzes
Guided
Labs
Project
1
Project
2
Project
3
Project
4
Test
#1
Test
#2
Final
Exam
1 Students develop  understanding of basic object-oriented concepts like classes, methods, and objects, one and two-dimensional arrays, and basic program control.    X X     X X   X X
2 Students work on program development techniques to describe and understand the problem statement, think through input/process/output, leading to geometric problem representation and finally coding.     X X X X X X X X
3 Students learn program control structures. X X X X X X X X X X
4 Students learn data structures such as Strings, 1-D arrays, 2-D arrays, and arrays of objects. X X X   X X X   X X
5 Students learn to implement algorithms for initializing arrays, finding min/max values, and manipulating arrays of objects.  X X X   X X X   X X
6 Students learn to work on modular programming, develop, debug and compiling parts of a larger program.     X X X X X X X X
7 Students learn to work with packages and pre-defined Graphical User Interface components such as windows, text boxes, input boxes.     X     X X   X X
8 Students are introduced to File reading and writing.     X     X X   X  
9 Students learn to use software development tools from command line compile and run commands to a sophisticated Integrated Development Environment.     X X X X X X X X


by J. A. Tompkins