Code Monkey home page Code Monkey logo

courserajavafundamentals's Introduction

This is a very useful course for beginner of Java or reviewing Java fundamentals, provided by Duke University. I took all of the 5 courses to review and enhance my OOP knowledges during the Christmas and New Year holidays in Dec. 2020.

There are five courses (including one capstone project as the last course) in this specialization, and the code for all the assignments for each week are residing in the corresponding folders.

List of the courses

This course provides fundamentals of JavaScript (Note that JavaScript is a totally different concepts to Java - they have NO relation and are not comparable to each other), HTML and CSS. Most part of the assignments of this course should be tested on CodePen and I only saved part of them (Week 2 only) in this repo.

This course provides basic syntax of Java, including conditionals and loops, primitive/object types, instance methods, how to use Java APIs, and how to debug your program scientifically. The assignments of each week include:

  1. Calculating the Perimeter of a Shape object.

  2. Processing String in Java.

  3. Reading CSV files of statistical weather data and process them in Java.

  4. Reading CSV files of baby names and process them in Java.

An introduction to fundamental data structures in Java. This course introduced a new data structure: HashMap. For the assignments, you will experience:

  1. Cryptography in Caeser Cipher algorithm.

  2. Count specific DNA codon and specific words in text files.

  3. Process web server logs and search/match the wanted records

  4. Encrypt/decrypt with a more complicated algorithm than Caeser Cipher: Vigenère Cipher.

This course goes deeper into object-oriented programming, which trys to emphasize this concept. Some of the key concepts of this course are:

  1. Sorting elements in array/ArrayList using compareTo() in Comparable interface, and using compare() in Comparator interface.

  2. Interface and "implements" keyword when defining classes or abstract classes.

  3. Concepts of abstract class and "extends" keyword when defining subclasses. Note that subclasses may need to implement certain interfaces since that's the requirement of the superior abstract class it inherits from.

  4. "==" checks whether two objects are exactly the same one (using the same memory address/block). "equals()" only checks whether the contents of two objects are the same.

  5. hashcode() and how it works in HashSet and HashMap.

There are multiple interesting mini-projects in this course:

  1. Read earthquake data and search for specific records.

  2. Sorting the earthquake records using specific criterias.

  3. Using Markov chain to predict text. The Markov chain could be in arbitrary order.

The ultimate goal is to recommend movies to a user according to his/her ratings to a randomly given movie. The recommendation is made based on searching the raters with most similar ratings to the user in the rater database and list the top 10-20 movies they rated. This project requires multiple Java skills such as file reading, searching, sorting, and present the results using HTML/CSS/JavaScript.

courserajavafundamentals's People

Contributors

nbwuzhe avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.