20090113simmonds_devon0003 CSC 121 – Introduction to Computer Science I

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 one or more programming environments. Emphasis on programming style and the design, coding and testing of complete programs. A grade of "C" or better is required for taking any course for which CSC 121 is prerequisite. Two lecture and two laboratory hours each week.

_________________________________________________________________________

Course Information

Meeting Days/Time:   MF - 12:00 - 12:50pm (Lecture)

                   W - 11:00 – 12:40 (Lab)

Location:     CI 2006

_________________________________________________________________________

Instructor Information

Name: Devon Simmonds

Office Location: CI 2046

Office Hours: MWF 10-11am or by appointment

Phone: (910) 962-3819

email: simmondsd[at]uncw.edu

_________________________________________________________________________

Required Text

Starting Out with Java: From Control Structures through Data Structures
by Gaddis/Muganda, ISBN: 0-321-42102-7

_________________________________________________________________________

GENERAL INFORMATION

This is the first required course for Computer Science majors. Students may declare a major in Computer Science after completion of CSC 121, 133, and 221 with a grade point average of at least 2.5 on these 3 courses.

Students intending to major in Computer Science are encouraged to take CSC 133 (Discrete Structures) during the same semester as CSC 121. 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.

Every student in CSC 121 must be enrolled in one lecture section and one lab section. You will receive one course grade that incorporates your grades from the lecture and the lab. CSC 121 is not an easy course, but students find it rewarding and well worth the effort. Students should expect to spend 5 to 10 hours per week on the course outside of class time.

_________________________________________________________________________

Java Related Software Available for Download

 

1.      JDK 6.0 (setting the path variable)

2.      JDK 6.0 with NetBeans Bundle

3.      BlueJ Download

4.      BlueJ.org

5.      Eclipse

 

Course Requirements

Students are required to attend the lab that they are signed up for except under exceptional situations and then when prior arrangements have been made with the instructor. Thus, to succeed/excel in the course, a student must succeed/excel in both lecture and lab sections. Your lab section will be used for hands-on programming activities. These activities may be structured or unstructured, individual or collaborative, and may vary from one lab session to another. You should come to lab with your book and notes and be ready to write code for the entire period. Bring recording media (flash drive) to lab to put your work on, and be sure to back up your work on your home computer.

 

You are expected to stay for the entire lab period and remain focused on the assigned tasks. The lab is a non-threatening environment where you can work to improve your programming ability. Students who complete the tasks assigned before the end of the lab session may be asked to peer tutor students who are still working on their tasks.

 

During most lab periods you will be given a mini-project to work on. Generally, labs will be collaborative in nature, you can talk to your classmates and ask your professor for help. There will be weekly lab meetings and for most you will receive a Boolean grade for each one (0 or 1 point). Most labs will consist of two to five parts that must be completed in sequence. The parts will vary in difficulty so that may not complete all parts in the lab session. Two of the labs will include additional timed practicals for which there will be no assistance. These are designed to test individual hands-on programming abilities. All work must be done in lab unless otherwise specified. No make-up labs or extensions are allowed. Your lowest lab grade including practicals will be dropped. Note that on some lab days, such as when you work on team programs, everyone who stays on task will get full credit for the lab.

________________________________________________________________________

Grading

The course will be graded as follows: 

Item

Grade Percent

Comprehensive final exam

20%

Three 50-minute exams

30% (10% each)

Programming Projects & Homeworks

30%

Quizzes

10%

Lab assignments

10%

 

Course Grade
A 10-point scale will be used to compute your course grade. If your course score falls just below a cutoff, a higher plus / minus grade may be assigned. Factors that affect this judgment are the distribution of grades, improvement during the semester, and attendance.

·             Numeric Score     Letter Grade     Quality Points

·           ====================================================              

·              90.0 - 100           A                4.00

·              80.0 - 89.5          B                3.00

·              70.0 - 79.5          C                2.00

·              60.0 - 69.5          D                1.00

·              00.0 - 59.5          F                0.00

 

_________________________________________________________________________

COURSE OUTLINE

Introduction to Computer Science I

Classes

·         Instance methods

·         Class methods

·         Instance variables

·         Class variables

·         Constructors

·         Visibility modifiers such as public and private

Objects

·         Instantiation

·         Message passing/method invocation

·         Parameter passing, including passing objects as parameters

·         Return types for methods including methods that return objects

Program Control Structures

·         Selection

- if statements and all variants

- switch statement

·         Iteration

- for loops

- while loops

- do-while loops

Strings

·         instantiation

·         manipulation (for example, reverse, change case etc.)

Data Structures

·         1-D arrays

·         2-D arrays

·         Arrays of objects

Packages

·         Using pre-existing packages (such as javabook)

GUI

·         Using pre-defined GUI components such as windows, text boxes, input boxes, choice boxes.

Multiple class files

·         Programs which require the student to develop two or more classes which reside in separate files.

Files

·         Introduction to reading and writing text files.

 

OTHER POLOCIES

This document contains additional policies to compliment the information in the other links on the csc385 web page.

Late assignments will not be accepted.

Academic Expectations for Students

“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.”

Learning Strategies

“You are expected to take an active role in your learning in this course. This includes regular attendance, paying attention in class, reading the textbook, and completing all course requirements. You are encouraged to study with your classmates outside of class. Programming assignments usually require a lot more time than expected, so start early and work some every day.”

Code of Student Life (pdf)

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.  For University or community resources visit http://uncw.edu/wrc/crisis.htm

Academic Honor Code

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 Affairs Disability Services - Policies and Procedures 

Department & University Policies