You are on page 1of 2

Object

oriented programming in java coursera quiz solutions github

You can’t perform that action at this time. Add a description, image, and links to the coursera-solutions topic page so that developers can more easily learn about it.
Curate this topic To associate your repository with the coursera-solutions topic, visit your repo's landing page and select "manage topics." Learn more You can’t perform that action at this time.

Course work for Coursera Online class Object Oriented Programming in Java Specialization SPS = Java Programming: Solving Problems with Software 1st course of the specialization BY Duke University BlueJ Environment Week 1 Week 2 Find genes from string or file. StorageResource. Week 3 CSV Files and Basic Statistics in Java Module 1. Use the
open-source Apache Commons CSV package in your own Java programs; 2. Access data from one or many CSV files using Java; 3. Convert strings into numbers; 4.

Understand how to use “null” in Java programs (when you want to represent “nothing”); 5. Devise an algorithm (and implement in Java) to answer questions about CSV data; and Analyze CSV data across multiple CSV files (for example, find maximums, minimums, averages, and other simple statistical results). Week 4 mini-project: search and rank
babynames in different year Optional Honors Content: convert images to grayscale and inverted version and save them to the file. ALS = Java Programming: Arrays, Lists, and Structured Data 2nd course of the specialization BY Duke University BlueJ Environment Week 1 Combine Strings using concatenation; Build Strings within a Java program
using StringBuilder; Use arrays to store and manipulate collections of data; Refactor your programs for improved organization using object-oriented principles; and Practice effective algorithm design. Assignments: Implement Caesar Cipher with one and two keys Implement Caesar Ciphar breakers of one and two keys Implement WordLength to
detect the length of words in a file Implement WordPlay to detect vowels in words and play with them Week 2 Program a word frequency counter to analyze any input text file; Select and substitute words from a list into a document template using both ArrayList and HashMap; Create new lists to use in templates; Recognize brittle code; and Improve
code with flexible, object-oriented design. Week 3 how web server logs store information about visitors to a website access information like user IP address, date and time of access, and more Read information from a web server log; Count the number of unique visitors to your website; and Count the number of times each visitor uses your website.
Assignments: Assignment: Reading Web Logs; complete the WebLogProgram to read and print web logs that was described in the lesson Assignment: Unique IPs; continue to build on the LogEntry and LogAnalyzer classes in WebLogProgram with more methods Assignment: Website Visits; continue to build on the LogEntry and LogAnalyzer classes in
WebLogProgram. Week 4 Breaking the Vigenère Cipher. Assignments: Assignment: English Language, Known Key Length Assignment: English Language, Unknown Key Length Assignment: Multiple Languages OOPJ = Object Oriented Programming in Java 3rd course of the specialization BY University of California, San Diego Course Goal: Author a
class in Java and explain how objects are constructed, how they store data, and how you can define their actions. Trace the execution of code using memory-models.

Define the scope of variables and methods. Extend existing libraries to build a medium-sized project.

Implement user interface features. Build and work with a class hierarchy that has multiple levels. Explain “is-a” and “has-a” relationships between objects. Author code which implements an Interface.

Explain the difference between compile-time and run-time decisions when working with polymorphism. Explain the difference between event-driven programming and imperative programming. Use searching and sorting to design algorithms for analyzing data. Search for an element in a sorted and unsorted list and explain the differences. Explain
multiple sorting techniques and performance tradeoffs. Week 1 Motivate the use of classes and objects in programming Create objects and call methods on them Describe member variables, methods and constructors Explain how to overload methods in Java and why overloading methods is useful Describe the meaning of the keywords public and
private and their effect on where variables can be accessed Week 2 Select and effectively use Java documentation Generate visual maps using Java code and the Unfolding Maps libraries Create and draw memory models for reasoning about variable values for primitive and object data types Apply the basic rules for variable scope and explain how it
impacts your code Practice tracing code using memory models and Java's rules for variable scope Week 3 Create and manipulate Graphical User Interfaces (GUIs) Find and effectively use Java documentation Use the Processing library in your programs Customize visual maps using Java code Use Java to read and parse data files Organize data into
appropriate objects Describe and use the List data type and the ArrayList class Describe and use the Map data type Week 4 Explain the value of inheritance as a feature in object oriented programming languages Use the keyword extends Explain the relationship between a superclass and a subclass Use UML Diagrams to display class hierarchies
Explain an “is-a” relationship between classes Describe how Java object construction occurs from the inside out Use same-class and superclass constructors in class creation Create methods which override from a superclass Contrast method overloading and method overriding Explain the purpose of polymorphism Step through decisions made at
compile time and runtime Use casting of objects to aid the compiler Use the keyword "abstract" Compare and contrast “inheritance of implementation” and “inheritance of interface” Decide between Abstract Classes and Interfaces Week 5 Distinguish between procedural programming and event-driven programming. Trace event-driven code Explain
how mouse-clicks and keyboard input interact with the program execution Design user-interface elements Write code to implement a button and respond to mouse events Describe inheritance relationships used in the course so far Distinguish between interfaces and classes in this hierarchy Week 6 Motivate the importance of search Write code to
perform a linear search Explain and implement the binary search algorithm Explain why binary search is better than linear search Define sorting Explain why sorting data can be useful Explain and implement the selection sort algorithm Trace code and describe its high-level function Describe alternate algorithms for sorting Use pre-defined Java
methods to sort Explain the properties of this built-in sort algorithm Define and use the Comparable interface in Java DSP = Data Structures and Performance 4th course of the specialization BY University of California, San Diego Course Goal: Describe the difference between an abstract data type (ADT) and its implementation. Work with Java's built-
in classes for fundamental data structures including: String, LinkedList, TreeSet, HashSet, and HashMap. Implement fundamental data structures from scratch including Linked Lists and Tries (yes, we mean Tries rather than trees ... stay tuned to learn about this data structure!). Analyze the performance of code, using Big-O notation as well as
through benchmarking experiments. Compare and contrast the performance of different data structures to select the most appropriate for a task. Write JUnit tests to ensure the correctness of your code. Implement several algorithms for generating and processing text. Week 1 & 2 Describe how the Flesch Readability Score can be used to determine
the readability of text Describe how Strings are represented in Java Perform basic operations with Strings in Java Work with the String class's built-in methods to manipulate Strings Write regular expressions to match String patterns Use regular expressions to split strings Week 3 Explain why the performance of an algorithm is important Describe
some factors that impact the performance of an algorithm Explain why asymptotic analysis is useful Calculate the big-O class of a code snippet Combine the runtimes of smaller code snippets to analyze the performance of more complicated code Compute the big-O class of code with nested loops Analyze the performance of selection sort Define worst
case, average case, and best case performance and describe why each of these is used State and justify the asymptotic performance for linear search, binary search, selection sort, and insertion sort in the best case and in the worst case Describe the merge sort algorithm Explain the use of recursion in merge sort Use asymptotic analysis to compare
merge sort with selection sort and with insertion sort State the best, worst, and average case performance for insertion sort, selection sort, merge sort, and quick sort Evaluate situations in which different sorting algorithms are appropriate Organize big-O classes according to rate of growth Avoid some common pitfalls in asymptotic analysis Explain
the role of benchmarking in computer science Identify components of real systems which impact execution time Use Java timing libraries to measure execution time Use runtimes from a real system to reason about performance Week 4 Explain the idea of abstraction and why it is important Give an example of abstraction in the real world and in Java
Describe the difference between an Abstract Data Type (ADT) and a Data Structure Describe and draw the structure of a LinkedList Describe an advantage of a LinkedList over an ArrayList Implement Generic classes in Java Throw Exceptions to indicate errors Implement a doubly linked list with sentinel nodes in Java Explain the value of having
confidence in your code Identify ways to build confidence in code correctness Describe different testing practices Compare advantages in testing methodologies Write tests for a LinkedList Explain how Markov processes can be used to generate text Distinguish between training on text and generating text Week 5 Describe the value of trees Describe
a Tree Data Structure Author a TreeNode class Explain the need to visit data in different orderings Perform and author a preorder traversal Perform in-order, post-order and level-order traversals Define a Binary Search Tree Identify valid Binary Search Trees Perform Search in a Binary Search Tree Insert an item into a Binary Search Tree Delete an
item from a Binary Search Tree Explain the running time performance to find an item in a BST Compare the performance of linked lists and BSTs Explain what a trie data structure is Describe the algorithm for finding keys in and adding keys to a trie Compare the time to find a key in a BST to a trie Implement a trie data structure in Java Week 6
Describe why hash tables are valuable Describe the role of a hash function Describe alternative methods for handling collisions in a Hash Table Identify other challenges associated with Hash Tables Explain the difference between a Hash Set and a Hash Map Describe a detailed algorithm for generating spelling suggestions for misspelled words
Define the notion of edit distance Describe a naïve algorithm for calculating the edit distance between two strings Describe how pruning can be used to reduce the problem space The Object Oriented Programming in Java Specialization offered by Duke University at Coursera is for aspiring software developers with some programming experience in at
least one other programming language who want to be able to solve more complex problems through objected-oriented design with Java. In addition to learning Java, the students who takes this specialization will gain experience with two Java development environments (BlueJ and Eclipse), learn how to program with graphical user interfaces, and
learn how to design programs capable of managing large amounts of data. These software engineering skills are broadly applicable across wide array of industries. There are four Courses in this Specialization: About this repository All the code written while taking the Object Oriented Programming in Java Specialization will be stored in different
folders of this repository. This approach is taken in order avoid having this GitHub account bloated and cluttered with many repositories holding very small projects. Blue J will not be used in the coding tasks of this Specialization because the goal is to gain more proficiency with Eclipse and therefore, all the necessary code will be written with Eclipse.
Java Programming: Solving Problems with Software The resources for the Java Programming: Solving Problems with Software course are available at www.dukelearntoprogram.com in the course's page. The documentation for the Course Code Packages edu.duke and org.apache.commons.csv, available in the resources of this course (and included in
the lib/ folder of this repository), is available at the Course Class Documentation pages. Week 1 Getting Started The HelloWorld program is stored in the folder C01W01-hello-world of this repository. Classes, Types and For Each Loops The support code for the video For Each Loops is stored in the folder C01W01-for-each-loops of this repository.
Seven Steps for Solving Programming Problems The support code for the video Seven Steps in Action: Translating to Code is stored in the folder C01W01-seven-steps of this repository. The code written for the exercise Calculating the Perimeter of a Shape is stored in the branch C01W01-calculating-perimeter of this repository. Week 2 Finding a Gene
in DNA The support code for the video Translating into Code is stored in the folder C01W02-find-gene-simple of this repository.
Strings First Assignment The code written for the exercise Finding a Gene in DNA is stored in the folder C01W02-find-gene-assignment of this repository. Strings Second Assignment The code written for the exercise Finding many Genes is stored in the folder C01W02-find-many-genes-assignment of this repository. Practice Quiz: Debugging Code The
code written to solve the Quizzes in the Debugging Code section is stored in the branch C01W02/debugging of this repository. Strings Third Assignment The code written for the assignment StorageResource Class is stored in the branch C01W02-storage-resource-class of this repository. Week 3 Assignment: Parsing Export Data The code written for
the assignment Parsing Export Data is stored in the branch C01W03-assignment-parsing-export-data of this repository. Assignment: Parsing Weather Data The code written for the assignment Parsing Weather Data is stored in the branch C01W03-assignment-parsing-weather-data of this repository. Week 4 - Mini Project: Baby Names The code written
for the mini project Baby Names is stored in the branch C01W04-project-baby-names of this repository.
For this mini project, it's provided data on baby names from the United States and it's necessary to write code to answer questions about given data. The data files give information on the first names of people born in a particular year. There is data from 1880 through 2014 on both boys and girls names. The data is stored in the folder src/data. Object
Oriented Programming in Java The Object Oriented Programming in Java is an intermediate Java course offered by UC San Diego through Coursera. This course is recommended to learners who have previous experience in software development or a background in computer science. The goal is that by the end of this course the student feels
empowered to create a Java program that’s more advanced than any of programs created in the past and that is personally interesting to the learner. In achieving this goal the student will also learn the fundamentals of Object Oriented Programming, how to leverage the power of existing libraries, how to build graphical user interfaces, and how to
use some core algorithms for searching and sorting data. This course is project-based and in the project for this course the student builds his own interactive visualization of a large dataset tagged by geospatial information. Both powerful and challenging, data visualization is one of the hot topics of modern computer science - as well as something that
influences our world every day! To create this project, I'll be working with a package called Unfolding Maps, which is a library for interactive maps and geovisualizations. It was developed by Till Nagel and the team at the University of Applied Sciences Potsdam along with other contributors and we (UC San Diego and I) are grateful that they
developed such a cool package that we can build on for this course. As part of this package, the SQLite library (version 3.7.2) is included. UC San Diego and I gratefully acknowledge xerial.org for creating this Java library and D. Richard Hipp for the development of SQLite. The project is separated into several parts, and I will be able to achieve
project milestones as I work through the modules in the course.
Throughout the project, UC San Diego has suggested extensions and ideas for adding extra features to this project. Week 1 No code was written in the first week of this course curriculum.
Week 2 The code written for this project during the second week of this course curriculum is stored in the folder C03W02-unfolding-maps of this repository.

You might also like