CSE 205 is a course a little bit harder than CSE 110. A student here is expected to know JAVA properly. You can know a lot of things if you are interested in programming. This course includes Object-Oriented Software Development, Introduction to Data Structures, Algorithms, expectations and input/output systems.
1) Object-oriented software development
• A brief introduction to Java – Java is a programming language created by James Gosling from Sun Microsystems (Sun) in 1991. The target of Java is to write a program once and then run this program on multiple operating systems. The first publicly available version of Java (Java 1.0) was released in 1995. Sun Microsystems was acquired by the Oracle Corporation in 2010. Oracle has now the steermanship for Java. In 2006 Sun started to make Java available under the GNU General Public License (GPL). Oracle continues this project called OpenJDK.
• Polymorphism – The word ‘polymorphism‘ literally means ‘a state of having many shapes’ or ‘the capacity to take on different forms’. When applied to object-oriented programming languages like Java, it describes a language’s ability to process objects of various types and classes through a single, uniform interface.
2) Introduction to Data Structures
• ArrayList – Java ArrayList is perhaps the simplest and one of the most used data structure implementation classes of the Java API Library. It is a part of the Java Collection Framework under the java.util package. On one hand, it behaves like a normal array, providing all the benefits of it. On the other, it is a generic re-sizable collection implementation of the List interface. Java ArrayList is especially used for managing a large number of objects
• Introduction to binary trees – A binary tree is made of nodes, where each node contains a “left” pointer, a “right” pointer, and a data element. The “root” pointer points to the topmost node in the tree. The left and right pointers recursively point to smaller “subtrees” on either side. A null pointer represents a binary tree with no elements — the empty tree. The formal recursive definition is: a binary tree is either empty (represented by a null pointer), or is made of a single node, where the left and right pointers (recursive definition ahead) each point to a binary tree.
• Recursion – Recursion is a basic programming technique you can use in Java, in which a method calls itself to solve some problem. A method that uses this technique is recursive. Many programming problems can be solved only by recursion, and some problems that can be solved by other techniques are better-solved by recursion.
• Searching/sorting – The sorting problem is to rearrange an array of items in ascending order. In this section, we will consider in detail two classical algorithms for sorting and searching—binary search and mergesort—along with several applications where their efficiency plays a critical role.
Overview of Input and Output Streams. The java.iopackage contains a full set of I/O streams; Java programs use input streams to read data from some input source and output streams to write data to some output source. Input and output sources can be anything that can contain data: a file, a string, or memory.
Above are few Concepts involved in CSE 205 which one can expect to learn in CSE 205. In short, CSE 205 is a course a little bit harder than CSE 110. A student here is expected to know JAVA properly. If you don’t feel confident enough in JAVA or programming, DO NOT take this course. Happy Studying!