Giter VIP home page Giter VIP logo

java-template's Introduction

Практикум на ЭВМ

Основной целью данного курса является ознакомление студентами с основами профессионального программирования с использованием языка Java.

Основные темы курса:

  • Основы языка программирования Java
    • Базовые операции
    • Работа с массивами
    • Работа с коллекциями (java.util), HastMap.
    • Многопоточное программирование и синхронизация
    • Сетевое программирование
  • Современные инструменты разработки ПО
    • IDE IntelliJ, Eclipse
    • Система контроля версий git, github.

Практические задания

Все выполненные задания публикуются на github ссылка на готовые задания отсылается преподавателю

  1. Настройка github
    1. Создать пользователя на github
    2. "fork" https://github.com/artem-aliev/java-template/ репозиторий в свое пространство
    3. Клонировать его на рабочую машиную
    4. провести изменения кода сделать "commit" и "push"
    5. Прислать преподавателю ссылку на созданный репозиторий
  2. Настройка IntelliJ/Eclipse
    1. Экспортировать проект в IDE
    2. Запустить unit test IntSortTest.java
  3. Знакомимся с Java. Сортировка
    1. Заменить в файле IntSort.java стандартный вызов на свой собственный алгоритм. Подходит любой алгоритм с средней вычислительной сложностью n*log(n)
  4. Объектно-ориентированное программирование.
    1. Matrix.java интерфейс матрицы с одной операцией: умножение
    2. Задача: создать два класса DenseMatrix и SparseMatrix: плотная и разряженная матрица с соответствующими способами хранения
    3. Имплементировать метод "mul" умножение таким образом что была возможность умножения разных типов матриц друг на друга
    4. Написать юнит тесты лоя всех вариантов умножения. Пример: MatrixTest.java
  5. Многопоточное программирование
    1. Добавить в DenseMatrix и SparseMatrix метод умножающий матрицы в несколько потоков
    2. Написать тесты, убедиться в росте скорости при увеличении количества потоков
  6. Сетевое программирование
    1. Написать простой http server способный отдавать html файлы из папки
    2. Написать простой http клиент способный послать "GET" запрос и распечатать полученный ответ на экране
    3. Проверить работу client/server между собой
    4. Проверить что сервер работает со стандартным браузером
    5. Проверить что клиент получает информацию с любого web сервера в Интернет

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.