CSC 216 Programming Concepts - JAVA

The second course in computing, intended for computer science majors. Emphasis is placed on interpretation of inductive definitions (functions and data types); testing strategies; specification and implementation of finite-state machine; encapsulation; polymorphism; inheritance; class invariants; and resource management. 3 credit hours.

 
   
   
Prerequisite
 

CSC 116 Introduction to Computing - Java with a grade of C- or better


Course Objectives  

This is a course on the fundamentals of computer science and programming using Java. Students taking this course are expected to have an understanding of loops, conditional logic, objects, classes, file I/O, arrays, and the basics of Java GUIs (swing and/or AWT).

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

  • describe the use of inheritance and polymorphism in object-oriented systems, and design and implement programs using these concepts.
  • design and implement interfaces and abstract classes.
  • understand recursive algorithms, data structures, and data types, and design and implement recusive algorithms and class definitions.
  • design and implement a finite state machine.
  • construct and use dynamic data structures, including linked lists, stacks, and queues.
  • identify and describe the basic phases of the software life cycle.
  • navigate and understand the Java API documentation.
  • understand basic design modeling techniques and recognize how and when to use them.
  • write literate, well-documented Java source code, including markup for and use of Javadoc for generating implementation documentation.
  • understand basic categories of software testing, and design and implement test code.

 

Textbook
 

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


Course Requirements  

Grading and Course Work

Your final grade will be based on the following scheme:

Work Total
Assignments (4 programs)  60%
Exam 1   10%
Exam 2   15%
Final Exam  15%

You cannot make up missed tests or exams without an official university excuse. Furthermore, we will not accept late programming assignments without an official university excuse.

  • Tests and Final Exam: There will be two regular tests during the semester and a final examination.
  • Assignments: There will be five programming assignments this semester. You must submit these programs electronically via: http://submit.ncsu.edu/
  • Attendance: While there is no campus lecture component to this section, all students are expected to read the online course lecture material and to view the taped lectures. All students are expected to remain current with the course schedule.

Final Grades

Your final grade will be determined according to the following table, where X is your overall weighted average for projects and final exam.

In order to pass the course with a letter grade, you must have a 60+weighted average on the exams and you must have a 60+ average on the programming assignments.

In order to pass the course with a C- or better, you must have a 65+ weighted average on the exams and you must have a 65+ average on the programming assignments.

Range Letter grade
98 <= X <= 100 A+
92 <= X < 98
90 <= X < 92 A-
88 <= X < 90 B+
82 <= X < 88
80 <= X < 82 B-
78 <= X < 80 C+
72 <= X < 78
70 <= X < 72 C-
68 <= X < 70 D+
62 <= X < 68
60 <= X < 62 D-
X < 60

Credit Only and Audit students

The grade of "CR" will be awarded to a student taking the course for credit-only who passes the course with a grade of 60.0 or higher.

Audit students must attempt all 3 programs and receive a grade greater than zero for each attempted program in order to receive a grade of AU. Any student enrolled for audit who fails to meet this requirement will receive a grade of NR.

 

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  

Mr. James C. Tetterton
Online-Distance Education
Information Technology Specialist
Box 7901
NCSU Campus
Raleigh, NC 27695

E-mail: jctetter@ncsu.edu