20804208Computer Science
Course Information
Description
This course uses the object-oriented programming language Java in a project-based learning format where students will be given increasingly challenging problems. Projects will be brought through the five stages of development: program design, definition and design of library classes, coding, testing, and documenting. Project elements begin with input, output, storage, and operations, and continue through control structures (loops, branching, and methods), data structures (arrays and classes), and techniques for searching and sorting. Students will implement standard Java grammar elements including inheritance and interfaces and will use the compiler and debugger to debug programs. Students will practice analytical skills through elimination of run-time and logical errors and will exercise writing skills in documenting code to a prescribed industry standard. The course requires eight to ten hours per week outside of class.
Total Credits
4
Course Competencies
-
Write a given programAssessment Strategiesin a lab exerciseCriteriawrite a given programbuild a programsave a source fileprint a source filerun a console applicationrun an appletredirect output to a printerwrite source file in standard format
-
Document a program using commentsAssessment Strategiesin projects completed in lab and outside of classCriteriaapply appropriate form for single and multiline commentswrite comments with appropriate content for program, class, method, and statement levelscomment all required inputcomment all output generatedcomment on algorithms and/or program organization
-
Construct an algorithm to solve a problemAssessment Strategiesin projects completed in lab and outside of classin classroom exercises, take-home problem sets, and testsCriteriaapply ideas for a variety of purposes including information, enjoyment, and appreciationdraw on knowledge of logic, mathematics, order, etc, to do a top-down analysis of the problemdevise an algorithm to solve the problemmodify the algorithm to handle exceptional cases
-
Apply variables in a programAssessment Strategiesin every programming projectin every test and problem setCriteriadefine variables of atomic, class, and array data types with appropriate namesstore information in the variables with initialization, assignment, and input from keyboard and fileextract information in variables for output
-
Debug a programAssessment Strategiesin projects completed in lab and outside of classin written debugging exercises on exams and problem setsCriteriafind and repair syntax errors which prevent buildingdevise a set of test data to check for logical and run-time errorsaccomplish assigned task with source code that is logically correctanalyze output and watch variables with break points and step-by-step execution to detect and repair logical errors
-
Format output in a programAssessment Strategiesin projects completed in lab and outside of classin quizzes and testsCriterialabel output clearlydisplay numbers to specified precision using a NumberFormatinsert new lines and spacing for clarity in console applicationsarrange and label components logically and clearly in a GUI using various Layouts
-
Import correct packages in a programAssessment Strategiesin projects completed in lab and outside of classin classroom exercises, take-home problem sets, and testsCriteriaimport proper packages for Vector, Format, Applet, Graphics, AWTEvent, and other commonly used Java classes and interfaces
-
Apply operators in a programAssessment Strategiesin projects completed in lab and outside of classin classroom exercises, take-home problem sets, and testsCriteriaapply arithmetic operators (+, -, *, /, %) with integer (and where appropriate) floating point numbers and Stringsapply assignment operators (=, +=, -=, *=, /=, %=) with appropriate data typesapply logical operators (&&, ||, !) to combine logical (T/F) expressionsapply relational operators (==, !=, =) with appropriate data typesapply ++ and -- in both prefix and postfix formapply operator precedence to combine multiple operators correctly in an expressionapply parentheses to change the order of operations
-
Apply looping statements in a programAssessment Strategiesin projects completed in lab and outside of classin classroom exercises, problem sets, quizzes, and testsCriteriaapply "for" loop appropriatelyapply "while" loop appropriatelyapply "do-while" loop appropriatelyanalyze problem to determine which type of loop to useapply nested loops to solve various problems (eg, sorting)
-
Apply branching statements in a programAssessment Strategiesin projects completed in lab and outside of classin classroom exercises, problem sets, quizzes, and examsCriteriaapply "if" statement appropriatelyapply "if-else" statement appropriatelyapply nested "if-else" statements appropriatelyapply "switch" statement appropriatelyanalyze a problem to determine which branching type to useapply branching statements to solve a problem
-
Select control structures to implement an algorithmAssessment Strategiesin projects completed in lab and outside of classCriteriaembody algorithm in structure chart and/or flow chartdetermine which tasks require separate functions and what each function requires for input and outputselect looping and branching statements to accomplish repetitive and decision-making steps, respectively
-
Apply methods in a programAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriaapply methods from predefined classesdeclare a method prototype in an interface or abstract classdefine class and instance methods, including appropriate name, return type, and parametersoverload a method when appropriateoverride a method when appropriate
-
Apply arrays and Vectors in a programAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriadefines fill, and access elements of array of primitives and objectsperform standard array tasks of traversing, searching, and sortingdefine and apply a multidimensional arraydefine and fill a Vectoraccess elements of a Vector and perform type casting to convert the resulting Objectspass arrays and Vectors as parameters and use them in methodsdetermine the number of elements in an array and a Vector
-
Apply Strings in a programAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriadefine and initialize a Stringsend Strings to output streams, concatenate Strings, and reads Strings from keyboard and fileapply String methods to compare, modify, and analyze Stringsconvert between Strings and other data types
-
Create an appletAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriawrite an HTML file containing an applet tagdefine a class which extends Applet and uses Graphics methods and Component objectsoverride the init, start, and/or paint methods as appropriaterun the applet in an applet viewer and close the applet
-
Apply AWT classes in a programAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriaapply Button, TextField, TextArea, Label, Checkbox, Choice, List, Frame, Panel, and Applet classes in programsresize, enable, disable, show, and hide Componentsapply Layout subclass methods to position Componentsput Checkboxes in a CheckboxGroupacquire a Graphics object and apply it to set and get Color and Font characteristicsacquire a FontMetrics object and apply it to determine the width and height of a String in a particular Fontapply Graphics methods to draw and position Strings and figures including points, lines, rectangles, ovals, arcs, and polygons
-
Apply event-handling in a programAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriaimplement WindowListener, ActionListener, and ItemListener interfacescreate a WindowAdapter to simplify implementing WindowListenerattach appropriate Listeners to appropriate Componentsoverride actionPerformed method to respond to Button clicks and in TextComponentoverride window Closing method to make the close button on a Frame function properlyoverride itemStateChanged method to respond to events in Choice, List, and Checkbox
-
Apply exception handling in a programAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriaapply" throws" with checked exceptions to propagate them if not handled within the methodapply try, catch, and finally blocks to handle exceptionsapply "throw" with predefined and programmer-defined exceptionscreate new exception classes by extending existing exception classes
-
Apply predefined classes to perform input and output operationsAssessment Strategiesin projects completed in lab and outside of classin quizzes and examsCriteriaapply Systemin and Systemout objects to provide standard input and outputapply File objects to determine whether files and directories exist and which is whichapply BufferedReader and PrintWriter objects to perform String-based input and outputapply RandomAccessFile, DataInputStream and DataOutputStream objects to perform formatted input and output of primitive and String dataapply RandomAccessFile objects to move within a file for input and outputapply ObjectInputStream and ObjectOutputStream objects for input and output of objects and arrays