CSC 116 Introduction to Computing - JAVA

An introductory course in computer science with an emphasis on basic computer organization, algorithm development, programming techniques, program structure, data representation, debugging, and program verification. Computer solution of both numerical and non-numerical problems will be completed in Java as a means toward teaching these concepts. 3 credit hours.

 
   
   
Prerequisite
 

E 115 (or PMS 100) is a prerequisite for this class.

MA 141 (or equivalent) is a corequisite for this class. CSC 116 assumes a basic understanding of algebra and trigonometry. You are expected to know this material.

Computing Skills Required For Course Completion
You will need to perform the following basic Internet skills while taking an Internet course. You should test your capabilities for these functions prior to the start of the semester:

  • Access your Unity account
  • Find the NC State web site
  • Use e-mail through the Internet
  • Open an e-mail window
  • Send an e-mail message
  • Use a search engine
  • Make hotlink connections (mouse click on icons and blue underlined text)
  • Open, enter, and post to the discussion group
  • Cut and paste between word-processing software, e-mail, and the web

If you are experiencing difficulties with the above tasks, you may want to contact a computer expert for suggestions in developing these skills or fixing any computer problem. You may also contact:

North Carolina State University Computer Services Information Center
Room 208 in the Hillsborough Building (on Hillsborough St. across from D.H. Hill Library)

Telephone: (919) 515-HELP (4357)
E-mail: help@ncsu.edu
World Wide Web: http://www.ncsu.edu/it/essentials/your_unity_account/get_started.html

 

Course Objectives  

Upon satisfactory completion of this course, students will be able to:

Apply classic problem-solving techniques to simple computational and information-management problems (without reference to any programming language), specifically:
  1. breaking large problems into smaller ones
  2. using different representations of data
  3. exhaustive search of possible solutions
  4. sequential analysis of solution steps
  5. logical analysis of alternative cases
Use a programming language to write a loop whose exit depends on more than one predicate.
Distinguish between errors in the syntax of a program and errors in logic
Identify and correct syntax errors in programs
Find and correct logical programming errors using debugging printout, pencil-and-paper tracing, and systematic search (to locate where an incorrect decision or value first appears)
Implement an object-oriented design that has at least two interacting classes
Recognize a few simple design patterns, such as model/view/controller, in existing programs
Write and document programs that adhere to specific coding and documentation standards (e.g. javadoc for documentation; conventions regarding the naming of classes and methods, definitions of constants, indention, etc.)
Use the Java system classes to do text-based input and output
Implement an array-based list with the ability to add and remove items and to traverse the list

 

Course Requirements  

Access to a computer with internet connectivity. The student will be able to download the Java Standard Edition software for free from http://java.sun.com

Grading

Work Total
Labs  10%
Program #1   5%
Program #2   10%
Program #3   10%
Program #4   10%
Exercises  5%
Quizes  10%
Midterm  20%
Final Exam  20%

Final grades will be assigned using the following scale where X is your overall weighted average accumulated on labs, programs, exercises, quizzes and exams. Grades will be rounded to the nearest tenth of a point to calculate final average. The final grade in the course will not be curved or adjusted in any way. You should use the extra credit offered during the semester to your advantage!

Range Letter Grade
98.0 <= X A+
92.0 <= X < 98.0
90.0 <= X < 92.0 A-
88.0 <= X < 90.0 B+
82.0 <= X < 88.0
80.0 <= X < 82.0 B-
78.0 <= X < 80.0 C+
72.0 <= X < 78.0
70.0 <= X < 72.0 C-
68.0 <= X < 70.0 D+
62.0 <= X < 68.0
60.0 <= X < 62.0 D-
X < 60.0

 

 

Textbook
 

Cay Horstmann Big Java, 2nd Edition ISBN: 0471697036 Publisher: John Wiley & Sons Inc. Feb 2005

NCSU CSC Department, Style Guidelines

Miller, Carol, Fall 2005 CSC116 Lab Manual (optional)


View Lecture  

Engineering Online uses Mediasite software to distribute the course lectures. To view the following sample lecture, you will need to have Windows Media Player and a Cable, DSL, T1 or faster connection to the Internet. If you have problems viewing a lecture, please contact the Engineering Online office at 1-877-254-0058.

Click link to view lecture: CSC 116 - Lecture 1

 

Computer and Internet Requirements  

NCSU has recommended minimum specifications for computers used for classes. Depending on your computer needs, we recommend your computer meet or exceed the following minimum specifications below.

PCs must have an Intel-compatible 1 GHz processor, 512 MB RAM, 60 GB hard drive with 1 GB free space available, 256 Color Display, CD-ROM drive, 1024x768 (min.) video adapter, sound card, and speakers. The operating system should be Windows XP Pro. Real One Player Basic (available free online) and high speed Internet connection such as cable, DSL, T1 or LAN will be required for EOL courses.

MAC users must have a G4 processor with firewire and USB factory built-in, 512 MB RAM, 60 GB with 1GB free space available, 256 Color Display, CD-ROM drive, 1024x768 (min) video adapter, sound card, and speakers. The operating system must be MacOS 10.4 (minimum) along with the above RealOne and Internet specifications above.

For more detailed information on computer specifications and recommendations, please refer to our website at: http://engineeringonline.ncsu.edu/currentstudents/computeraccess.htm

 

Instructor  

Daniel Longo
Dept. of Computer Science
North Carolina State University

Email: djlongo@ncsu.edu
Phone: 919-606-6344