Computer Science Projects Internal Assessment. Mastery Item Claimed Justification Where Listed Random Access File – Searching Lines 200-230 P. 53 Random.

Slides:



Advertisements
Similar presentations
Chapter 22 Implementing lists: linked implementations.
Advertisements

Introduction to Java 2 Programming
Lists and the Collection Interface Chapter 4. Chapter Objectives To become familiar with the List interface To understand how to write an array-based.
Linked Lists. 2 Merge Sorted Lists Write an algorithm that merges two sorted linked lists The function should return a pointer to a single combined list.
CS Data Structures II Review COSC 2006 April 14, 2017
CS 106 Introduction to Computer Science I 04 / 11 / 2008 Instructor: Michael Eckmann.
Inheritance Inheritance Reserved word protected Reserved word super
Objectives Introduction to Inheritance and Composition (Subclasses and SuperClasses) Overriding (and extending), and inheriting methods and constructors.
ITEC200 – Week03 Inheritance and Class Hierarchies.
More about classes and objects Classes in Visual Basic.NET.
CS 307 Fundamentals of Computer Science 1 Abstract Data Types many slides taken from Mike Scott, UT Austin.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Iterators T.J. Niglio Computer & Systems Engineering Fall 2003 Software Design & Documentation Object Behavioral.
© 2006 Pearson Addison-Wesley. All rights reserved4-1 Chapter 4 Data Abstraction: The Walls.
1 Chapter 7 l Inheritance Basics l Programming with Inheritance l Dynamic Binding and Polymorphism Inheritance.
CS 106 Introduction to Computer Science I 11 / 15 / 2006 Instructor: Michael Eckmann.
1 Generics and Using a Collection Generics / Parameterized Classes Using a Collection Customizing a Collection using Inheritance Inner Classes Use of Exceptions.
CS 106 Introduction to Computer Science I 04 / 21 / 2010 Instructor: Michael Eckmann.
Introducing Hashing Chapter 21 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
Introduction to Object Oriented Programming. Object Oriented Programming Technique used to develop programs revolving around the real world entities In.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Custom Templatized Data Structures.
Computer Science Standard Level Mastery Aspects. Mastery Item Claimed JustificationWhere Listed Arrays Used to store the student data Lines P.
Chapter 3 List Stacks and Queues. Data Structures Data structure is a representation of data and the operations allowed on that data. Data structure is.
Inheritance and Class Hierarchies Ellen Walker CPSC 201 Data Structures Hiram College.
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
COP3530 Data Structures600 Stack Stack is one the most useful ADTs. Like list, it is a collection of data items. Supports “LIFO” (Last In First Out) discipline.
1 Generics and Using a Collection Generics / Parameterized Classes Using a Collection Customizing a Collection using Inheritance Inner Classes Use of Exceptions.
1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:
Data Design and Implementation. Definitions of Java TYPES Atomic or primitive type A data type whose elements are single, non-decomposable data items.
Lists and the Collection Interface Review inheritance & collections.
More on Hierarchies 1. When an object of a subclass is instantiated, is memory allocated for only the data members of the subclass or also for the members.
1/20/03A2-1 CS494 Interfaces and Collection in Java.
15440 Distributed Systems Recitation 1 Objected-Oriented Java Programming.
Object-Oriented Design CSC 212. Announcements This course is speeding up and we are starting new material. Please see me if you feel this is going too.
Object Oriented Software Development
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Summing Up Object Oriented Design. Four Major Components: Abstraction modeling real-life entities by essential information only Encapsulation clustering.
8. Inheritance “Is-a” Relationship. Topics Creating Subclasses Overriding Methods Class Hierarchies Abstract Class Inheritance and GUIs The Timer Class.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
The ADT Table The ADT table, or dictionary Uses a search key to identify its items Its items are records that contain several pieces of data 2 Figure.
Collections Data structures in Java. OBJECTIVE “ WHEN TO USE WHICH DATA STRUCTURE ” D e b u g.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Inheritance and Class Hierarchies Chapter 3. Chapter Objectives  To understand inheritance and how it facilitates code reuse  To understand how Java.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
April 27, 2017 COSC Data Structures I Review & Final Exam
Introduction to Objects and Encapsulation Computer Science 4 Mr. Gerb Reference: Objective: Understand Encapsulation and abstract data types.
Chapter 17: Linked Lists. Objectives In this chapter, you will: – Learn about linked lists – Learn the basic properties of linked lists – Explore insertion.
Module 9. Dealing with Generalization Course: Refactoring.
1 Chapter 4 Unordered List. 2 Learning Objectives ● Describe the properties of an unordered list. ● Study sequential search and analyze its worst- case.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 17: Linked Lists.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 18: Linked Lists.
CSC 243 – Java Programming, Spring, 2014 Week 4, Interfaces, Derived Classes, and Abstract Classes.
Arrays, Link Lists, and Recursion Chapter 3. Sorting Arrays: Insertion Sort Insertion Sort: Insertion sort is an elementary sorting algorithm that sorts.
CMSC 202 Computer Science II for Majors. CMSC 202UMBC Topics Templates Linked Lists.
CSC 243 – Java Programming, Fall, 2008 Tuesday, September 30, end of week 5, Interfaces, Derived Classes, and Abstract Classes.
Java Programming: Guided Learning with Early Objects Chapter 9 Inheritance and Polymorphism.
Introduction toData structures and Algorithms
C++ Programming:. Program Design Including
CSC 222: Computer Programming II
University Of Karachi Department Of Computer Science
CS Data Structures Chapter 8 Lists Mehmet H Gunes
DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING IN C++
Object-Oriented Programming
structures and their relationships." - Linus Torvalds
Object Oriented Analysis and Design
Introduction to Data Structure
structures and their relationships." - Linus Torvalds
Presentation transcript:

Computer Science Projects Internal Assessment

Mastery Item Claimed Justification Where Listed Random Access File – Searching Lines P. 53 Random Access File – Deleting Lines P. 56 Random Access File – Adding Lines P. 56 Recursion Lines P. 58 Parsing a Text File Lines P. 52 Inheritance etc Polymorphism Mastery Items

Inserting data into an ordered sequential file What’s ok Not writing the entire file into RAM

Deleting data from an ordered sequential file What’s ok Not writing the entire file into RAM

Arrays of 2 or more dimensions What’s ok Must be used for a non-trivial reason

Deleting data from a Random Access File What’s ok Making the deleted file space available for re- use, so that a new record/data item can be written in its place (requires storing the record numbers of deleted items or marking for deletion). Compacting the amended file in some way so that unnecessary memory is not taken up.

Deleting data from a Random Access File What’s not Marking a record as ‘deleted’ without making any provision for its re-use.

Searching for specified data from a Random Access File What’s ok Reading sequentially through a file in order to find a record/data item whose position is not already known (therefore the seek() method cannot be used). e.g. in order to process that item / to check for duplicate records / look for ‘deleted’ records.

Searching for specified data from a Random Access File What’s not Reading the whole file into memory and then beginning the search.

Adding data to a Random Access File using the seek() method What’s ok Using a calculation based on record length and record number to: write a new record (or data item) to the end of a file write a new record in the position of a previously deleted record (data item)

Adding data to a Random Access File using the seek() method What’s not seeking to the start of a file with seek(0), and writing a stream of data to the file seeking to the end of the file with seek(file.length), and appending to the end of a file

Recursion What’s ok A method that: -calls itself with changed parameters -has a terminating condition -is a valid use of recursion e.g. traversing a tree e.g. a sort routine (justified and explained)

Recursion What’s not algorithms introduced solely to gain the mastery aspect e.g. a quicksort routine where the choice of sort routine has not been justified by the candidate algorithms introduced where an iterative solution would clearly be the preferred way e.g. searching through a linked list (not the ‘normal’ way of processing a linked list)

Parsing a Text File What’s ok Using methods such as java.util.StringTokeniser to separate strings (read in from an input stream) into different components. The different tokens (strings) would then be processed in some way. e.g. to separate lines of text into record fields e.g. reading in data from a csv file

Parsing a Text File What’s not Use of parseInt(string) or parseDouble(string) would be considered a trivial example. e.g. reading strings from a text file and converting them into integers.

Merging of two or more sorted data structures What’s ok Merging two sets of data that are already sorted. What’s not Appending one file onto another. Using a mergesort routine (data sets are unsorted).

What’s ok Extending a built-in Java class where significant changes/additions are made to the super class. e.g. extending and customising GUI classes (J Frames etc.). Creating a class, extending it to a sub-class, and making use of both classes in the program Creating an abstract class (with basic data members/methods) and extending 2 (or more) sub- classes. e.g. a currentAccount class and a savingsAccount class could extend an abstract bankAccount class. Inheritance

What’s not Extending (inheriting) a built-in Java class without any significant changes to the super- class. Creating a (super) class and then extending it, but only then making use of the sub-class (in other words, the super-class wasn’t needed).

Encapsulation What’s ok Data members that are declared as private (accessible by methods from that class only), or protected (accessible from that package), so that other classes can only access the data members through public methods in the encapsulated classes. What’s not All class data members declared as public.

Polymorphism What’s ok Method overriding, where a sub-class (or a class that implements an interface) overrides the parent class’s methods in a non-trivial way. Method overloading – 2 methods with the same name but with different parameters and different behaviour (e.g. constructors)

Polymorphism What’s not Overriding methods from a Java library file. e.g. use of methods such as equals() as in string1.equals(string2) in which the String class is simply overriding methods of the Object class.

Up to 4 aspects for the Implementation of ADT’s What’s ok It is the code (or modified code) that has been written (and extensively documented) by the candidate that will gain credit. e.g. for Linked Lists, mastery marks will be awarded as follows: creating a node-style class with basic methods (constructor, get and set methods); additional methods e.g. to add / remove from the head / tail; implementing basic error-checking (e.g. trying to get an element from an empty list); addition of further methods to create a fully-functionable ADT;

Up to 4 aspects for the Implementation of ADT’s What’s not Where all the candidates from a school follow a ‘template’ approach laid down by the teacher. Using a pre-written Java library class (such as java.util.LinkedLists) to provide the methods for the student’s ADT.

Hierarchical Composite Data Structure Object which has several data members, of which one also is a object. An array of objects. e.g. linked list (or tree) of records, array of records, record where one of the fields is another record,

Use of additional libraries e.g. graphical libraries or utilities

5 mastery items from SL

Recomendations for Teachers Insert a detailed appraisal of each student in the dossier (at the beginning). Set (no pass) deadlines.