_______________________                                                                                                                     

     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  

Stuart Reges and Marty Stepp, Building Java Programs: A Back to Basics Approach, 1st edition, Addison Wesley, 2008. ISBN: 0-321-38283-8

NCSU CSC Department, Style Guidelines

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

 

Computer and Internet Requirements  

NCSU has recommended minimum specifications for computers that are generally used for courses. Those specifications can be found here: http://www.ncsu.edu/it/compspecs/

Engineering Online recommends that your computer meets or exceeds the following minimum specifications below. A computer with greater capability (processor speed, RAM, internet bandwidth, disk capacity) will be more likely to properly display the video content of Engineering Online courses.

Windows:

  • Microsoft Windows XP, Windows 2003, or Windows Vista
  • Intel-compatible 1 GHz processor
  • 512 MB RAM
  • 60 GB hard drive with 1 GB free space available
  • Video display at 1024 x 768 or greater
  • Sound output and speakers
  • Microsoft Internet Explorer 6.0 SP1 or later, Firefox 2.0 or later, or Google Chrome 1.0
  • Silverlight  (viewers may be prompted to install this when first viewing a presentation)
  • Windows Media Player 9.0 or later
  • Real One Player Basic (required for certain courses)
  • Adobe Acrobat Reader
  • Broadband Internet connection (256 Kbps or more)

Mac OS X:

  • Mac OS X 10.4.8 or later
  • G4 processor
  • 512 MB RAM
  • 60 GB hard drive with 1 GB free space available
  • Video display at 1024 x 768 or greater
  • Sound output and speakers
  • Safari 2.0.4 (or later) or Firefox 2.0 (or later)
  • Silverlight  (viewers may be prompted to install this when first viewing a presentation)
  • Real One Player Basic (required for certain courses)
  • Adobe Acrobat Reader
  • Broadband Internet connection (256 Kbps or more)
  • NOTE:  The Flip4Mac plug-in causes problems when viewing Mediasite presentations and should be disabled.

Linux:

  • Playback of Mediasite presentations on Linux is accomplished via the Moonlight Project, an open source implementation of Microsoft Silverlight. For more installation on the installation and configuration of Moonlight, please visit http://www.go-mono.com/moonlight/. The compatible operating systems and browsers are listed on this page.
  • Microsoft Media Pack for Moonlight
  • Adobe Reader for Unix
  • Broadband Internet connection (256 Kbps or more)

 

Instructor   Daniel Longo
Dept. of Computer Science
North Carolina State University

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