CSC 116 Course Syllabus - Nc State University · 2013-01-07 · North Carolina State University...

14
North Carolina State University Course Syllabus CSC 116 - 001 - Introduction to Programming - Java CSC 116 Course Syllabus CSC 116 – Introduction to Programming - Java Section 001 SPRING 2013 3 Credit Hours Course Description An introductory course in computing in Java. Emphasis on algorithm development and problem solving. Careful and methodical development of Java applications and applets from specifications; documentation and style; appropriate use of control structures; classes and methods; data types and data abstraction; object-oriented programming and design; graphical user interface design. Learning Outcomes Upon successful completion of this course, a student will be able to... 1. apply classic problem-solving techniques to simple computation and information-management problems (without reference to any programming language), specifically • breaking large problems into smaller ones, • sequential analysis of solution steps, • logical analysis of alternative cases, 2. evaluate an arithmetic expression using order of operations, promotion from integer to floating-point types, and integer division, 3. use a programming language to write code that selects one of several alternatives based on more than one predicate, 4. use a programming language to write a loop whose exit depends on more than one predicate, 5. correct syntax errors and distinguish between them and runtime errors or errors in logic. 6. 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), 7. implement an object-oriented design that has at least two interacting classes, 8. 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, definition of constants, indention, etc.), 9. use the Java system classes to do text-based input and output, 1