Course in Computer Science in Ukraine

See Course Studies in Computer Science in Ukraine 2017

Computer Science

You can usually take higher education courses if you’re 18 or older. They’re regularly taught in universities, colleges and professional institutions such as art schools or agricultural colleges - nearly all of which have their own websites. You can get a wide range of skills, for example, diplomas, bachelor degrees, foundation degrees and post-graduate degrees.

The Master Degree in Computer Science program prepares students to work with computing problems and solutions. Graduates are highly sought after by employers and can work in a vast array of fields including technology, business and much more.

Ukraine is an affordable, yet qualitative option. It is also one of the most beautiful countries in EU and has many beautiful and industrial cities. There are two degrees conferred by Ukrainian universities: the Bachelor's Degree (4 years) and the Master's Degree (5–6th year)

Top Course Studies in Computer Science in Ukraine 2017

Read More

Frontend Web Design technologies

Infopulse University Ukraine
Online 60 hours October 2017 Ukraine Kiev

This course provides you with a solid foundation in Web design and development. HTML5, CSS3, Bootstrap, SASS/LESS, BEM/SMACSS, mobile responsive design and more technologies are covered. It delivers essential knowledge without odd information, cultivates right professional skills, and increases confidence in the things you do. The backbone of this course is BEM – a fast and super-efficient approach. It simplifies creation of sleek, flexible web sites and user web interfaces. [+]

Best Course Studies in Computer Science in Ukraine 2017. Part 1: HTML5 / CSS3 +extra This course provides you with a solid foundation in Web development. HTML5, CSS3, Bootstrap, SASS/LESS, BEM/SMACSS, mobile responsive design and more technologies are covered. It delivers essential knowledge without odd information, cultivates right professional skills, and increases confidence in the things you do. The backbone of this course is BEM – a fast and super-efficient approach. It simplifies creation of sleek, flexible web sites and user web interfaces. The Web development course also includes: exclusive handout reference materials – for easy start and confident progression showing practical cases & hands-on tasks – to learn & do by clear examples usage of best practices – to save time and efforts time saving tools review – to do the necessary and not more job interview tips – to assist your job acquisition Our trainers talk simply about complicated things. They are always eager to help. We hope all these things will serve you best so you’d get a favorite and profitable job. Brief curriculum is available below. To receive a detailed curriculum please send us a free request. - Introduction to Web technologies: Profound understanding of what Internet is, web software, standards - HTML5 and XML, mobile responsive design, SEO essentials Learning how to create beautiful, user-friendly websites and web apps. Hands-on making them look fine on desktop and mobile devices. Basics of search engine optimization to increase the value of your technical work. - CSS3, SASS/LESS Professional styling of webpage visual design. Tools for development process acceleration. - BEM, SMACSS/OOCSS/et sim. The central topic of the course. A Swiss-knife for webpage & UI development. Most effective time saving tools to make design process maximally productive. Review of similar approaches. - Photoshop, Pixlr/et sim. Photoshop essentials for technical webdev purposes. Extraction of graphics and backgrounds for later use in HTML & CSS. Free tools review. To receive a detailed curriculum, please send us a free request. This course provides you with required skills and knowledge to create webpages & web apps UI in high-paid industries: banking e-commerce hi-tech industries online services: airlines, telecommunications, entertainment, etc. and many other spheres This course prepares you for professional activity on various positions: Web Developer and IT Developer. Frontend web developer Webmaster Web Content Manager Freelancer Web specialist Web programmer (additional education required) Feel free to ask your questions and enroll right now! Course outline Introduction to Web technologies Structure of the Internet, client-server interaction, HTTP protocol, webserver software and hardware, DNS Standards: W3C, DOCTYPE, validation Cross-browser compatibility XML General purpose XML used in frontend: XSLT, Xpath, CDATA, RSS HTML Purpose, document structure, tags, attributes Separators and special characters Color models Data: META-data, text, hyperlinks, images, multimedia, lists, forms, tables HTML5 Adaptive layouts SEO basics CSS Purpose, stylesheet structure Classes, identifiers, selectors, pseudoselectors, pseudoelements Grouping, inheritance, cascading; BEM markup methodology; CSS preprocessors: LESS, SASS, etc. Data types and measurement units Font and text Visual formatting models Padding, margin, border; main and background colors Element positioning CSS3: backgrounds, gradient, shadow, font, border rounding, transformation and transition Progressive enhancement Photoshop essentials for markup purposes Workspace settings, essential tools, shortcuts, layers Extraction of graphics and backgrounds Design measurements: sizes, freespaces, fonts, colors Cut tool; optimizing and saving images Exercises: Practical exercises include markup of real website design layouts and design templates markup. A special attention is paid to key approaches that are needed for professional task completion. Exercises enable students to use jQuery in their work. [-]

C++ fundamentals

Infopulse University Ukraine
Online 60 hours October 2017 Ukraine Kiev

These course explain the C++ language from its basics up to the newest features introduced by C++11. Chapters have a practical orientation, with example programs in all sections to start practicing what is being explained right away. [+]

Course outline Basic notions: What is a computer, computer command, an application and a programming language? The evolution of these notions. Computer program execution detailed analysis: describing roles of operating system, drivers, CPU, memory, bus, keyboard, mouse, and other components The differences between high and low level programming languages (machine code, assembler, C, C++, Java, SQL, HTML). How to start to write a program. Text editor, compiler, linker. IDEs (Integrated Development Environments). Getting started: Explanation of previous program code line-by-line. The preprocessor - program entry point. Introducing first coding rules. Errors, how to deal with them. Data types (size, range), declaration of variables. Naming rules, code readability and good coding style. The stack (LIFO queue). Variables visibility and life duration. Global and local variables. Bad coding style - using global variables. Visibility extension operator “::”. Variables and constants, a difference between initialization and assignment. Binary, decimal and hexadecimal formats. Practice: "Hello world!" program. How to receive data from user input and show it. User dialog. The first tools: The notions of operator, expression and instruction. Correct terminology usage importance for successful interview passing. Arithmetic operators, comparison operators and rules of their usage. Signed and unsigned types. Explicit and implicit type cast. Post- and preincrement. Priority and associativity. Conditional operators (if, else if), ternary operator, switch (fall through concept). Loops: for, while, do while. Nested loops (i,j,k counters order). Debug: How to trace a program execution, breakpoints, F5, F10, watches. Practice: A few questions from the interviews. A simple calculator. Examine the ability to process any user input. How to reduce the number of possible errors. The first design concept of cross-platform application. Shapes drawing: filled, empty, with defined borders thickness, rectangles, triangles, rhombus. How to display text in the middle of the rectangle. Screen positioning Several shapes in a row. Simple animations (moving shapes), getch(), the first tool to obtain required information. Find and process specific numbers in the range. The first program 'Drawing', which could work eternal; it must show menu, draw any shape by user's choice or terminate. Arrays, pointers, references, algorithms: Stack based array, its size, index, sizeof () operator, array initialization. Pointers, how does iArray[i] expression actually works, what means the pointer type for a compiler. Dynamic memory allocation, heap, new, delete, delete[] operators. All pointers related nuances: uninitialized pointers, hanged (forgotten) pointers, memory leaks (and tools to detect it). Pointer to everything - void *. References, differences between them and pointers. Sort, search and comparison algorithms, their performance. The profiler. Compile and runtime errors. Dynamic arrays (that can change size at runtime). Multidimensional arrays. - Practice: Algorithms: search, search minimum value, maximum value, count items, sum, average. More complicated algorithms: work with multidimensional arrays, histogram creation, matrix rotation. How to look ahead from the current position in array. Several sorting algorithms with analysis of their performance. First game: tick-tack-toe. Description: User will have option to choose '0'-s or 'X'-s and set how much rounds to play. The program should determine the winner of current round and keep the total number of wins, draws and defeats. Program also should be protected from user's errors (with explanation of them), have a good usability and interface. Advanced: use color for text output. Functions: Why do we need in functions? Passing function arguments by value, by address and by reference. First look at the application address space, and executable file format, a cost of the function call. Functions overloading, default parameters. Recursion, call stack, stack overflow, integer overflow. Pointers and const modifier: a difference between constant pointer and pointer to constant. A good coding style. Why it is so important. Practice: Algorithm performance measurement. How to get reasonable accuracy. Some tasks from interview (recursion usage). Rewrite Tick_tack-toe, Calculator and Drawing applications using functions. Strings: A console application, system buffer and keyboard interrupts. Library functions: strcmp, strlen, strtok_s, strstr. How to format text output (in c and c++), cin.getline. char and wchar_t, zero terminated string. Dynamic array of strings. Practice: Create an auxiliary functions to protect your app from user's wrong input: prevent entering chars instead of digits; prevent entering more symbols than buffer capacity; be ready for extra-large text input How many times a given word present in a sentence? User enters any number of sentences, application parses them, creates array of words from those sentences, counts number ot words, finds the longest and the shortest, sorts words by length and alphabetically. Create "scrolling text string" app with option to suspend the cycle and update the content. Advanced: Implement word-wrap algorithm. Bitwise operations: Operators &, |, ^, ~, !, . - Practice: Store in one integer variable four numbers from different ranges (0-5, 0-100, 10-60, 100- 40000). Show binary representation of integer value What is the biggest number can be stored in 1 byte? Raise 2 to the power of 200. List all logical drives of PC. Encrypt and decrypt entered text. Structures, enumerations, unions, bit fields: What are user defined types. Differences between С and С++. First acquaintance with object-oriented programming. Universal storage for every data type. enum as compact declaration of related constants. Practice: How to use unions to send and receive data any type. Develop app "Students" to store and process personal data. The "Student" structure (data store) have to have following fields: name, surname, age, 5 marks (array), average mark. Implement simple operations with array of objects: search, sort, add, delete, edit. Create an algorithm of automatic initialization of array of structures (including names). You will enter array size from keyboard. Advanced task: sort and show data using pointers to structures, not objects itself. Preprocessor directives: How and where must be defined critical restrictions, constants. How to include a compilation units from the same or different places, preventing from including a file several times. Memory classes: extern, static, register, auto. Static variables in functions and files. Conditional compilation. Cross platform development. Using # and ## operators in debug. Macros: how to write a macro, pro and contra, and how to write convenient unit tests. Practice: Create several *.h and *.cpp files and link them correctly. Write a macro for performance evaluation of any statement. Files: The role of operating system, drivers and application in IO operations, references accounting, file operation modes. What types of file related errors should be checked in production application. Read, write and positioning operations. File size and format. Buffered output. Differences between text and binary file opening modes. Which one should be used. Practice: How to explore drives content and directories. How to copy a big file. Write to file encrypted data of any format. Read it, decrypt and show. Create an app like reminder (diary, organizer). Description: The user enters some information and sets the time to remind about it. Once user launches this app, it checks the current date and time, looks through all records stored in a file. If there are something to remind at this time it displays a reminder message. Course project: Simple file manager that can search and display the contents of every file (as is, without recognition of file format), and edit certain files. The student should develop his own file format for data storage and processing - a big array of structures 'Student' (see description above in practice section of the Structures). Advanced complexity: Add field 'experience' to 'Student' structure (an array of characters in heap) and its length. Not all students have the experience, it should complicate file format. The program must have a user-friendly interface and operate in two modes: Create a file and find it in file system. open, read, add or delete record, edit it, sort the data, based on their various criteria specified by the user. Working in any mode, the user should be able to see the context menu. App must be protected from any user errors and not have any kind of memory leaks (heap memory, descriptors). C++ advanced Course duration: 120 hours Function pointers: Usage of the function pointers as search and comparison criteria, which can be passed as arguments to search or sort algorithms. Predicates. Adapting your functionality to existing interface, for example: sort any arrays using qsort_s function. Callback functions, typedef. How to extend functionality of your program without recompiling it. Cost of extra QA work. Practice: Sort 'students' (see base course practice) by several criteria received at runtime. Rewrite 'Calculator' app using array of function pointers. Template functions: Type deducing, typecast and function arguments, template function overloading. Non-type parameters. Practice: Develop an app that sorts arrays of ints, chars and doubles using template functions. Functions with variable (undefined) number of parameters: The role of the first parameter, format specifiers, VA_LIST. Practice: Develop a “mini printf” function. Classes (base concepts): Philosophy of class design and usage. Constructors, destructors, overloaded constructors, class interface as a set of rules to work with him... How to trace all calls to class functions in program. Default class function functionalities and how to disable it. Composition: aggregation and acquaintance, an interaction diagram, UML. Initialization rule. How to work with resources. this, public, private. A preprocessor #ifndef and compiler-dependent #pragma directives. What is a c++ standard; Class A has object of B class, but class B has a pointer to A - how to resolve this. Friends: How a function or class can become a friends to another class. Relations between 'friends'. Practice: Develop Array and Line classes. Another tool: class BackUp, that can be used by any client to safely rewrite any file, and safely retrieve a data (a proxy between a client and a file); Copy constructor and operator overloading: When do you need these tools? Shallow and deep copy. How to copy an object that has another object inside. Explicit constructors. Built-in and user defined data types. Operator overloading rules. Practice: Overloading of +, =, [-]

Quality Assurance

Infopulse University Ukraine
Online & Campus Combined Full time 60 hours September 2017 Ukraine Kiev

Automated Software Testing is a process, utilizing tools to execute pre-scripted tests on a software application before releasing it into production. Students write a test script once, and then run it repeatedly in under a minute. Tests are often run in parallel with other, testing changes and searching for defects. [+]

Best Course Studies in Computer Science in Ukraine 2017. Automated Software Testing is a process, utilizing tools to execute pre-scripted tests on a software application before releasing it into production. Students write a test script once, and then run it repeatedly in under a minute. Tests are often run in parallel with other, testing changes and searching for defects. Course outline Introduction to Software Testing History of Software Testing Why to Test Software? Purpose of Testing Principles of Testing Software Development Life Cycle (SDLC) Software development process: models and methodologies Testing and Quality Assurance Quality Assurance overview Goals and benefits of Quality Assurance Software Testing basic concepts Software Testing across the SDLC Measuring testing process, metrics in testing Overview of Test Tracking systems Software Testing Life Cycle Types of Testing Test phases and activities Test artifacts, test documentation: Test Plan Test Case Check List Bug Report Test Results Report Requirements Review of Requirements and Specifications Traceability Matrix Test Plan Test Planning activities Test Strategy Test Plan template Test Case Test Case attributes Writing and Tracking Test Cases Check List Practical use Difference between Test Cases and Check Lists Bug Report Bug’s Life Cycle Bug attributes Bug severity and priority Metrics in Bug Tracking Overview of Bug Tracking Systems Test Results Report Basic concepts Test Report Template Test Design techniques Test coverage Basic test design techniques Test fundamentals Black-Box White-Box Gray-Box Testing Functional and non-Functional Testing Overview of Functional Testing Different types of Testing Security Testing Performance Testing Installation Testing Usability Testing Failover and Recovery Testing Configuration Testing Testing the changes: Smoke Sanity Build Verification Regression Testing Testing levels: Unit Testing Integration Testing System Testing Acceptance Testing Alpha and Beta Testing Additional aspects of managing Software Testing Object-Oriented Systems Testing Client-Server and Web-Based Systems Testing Testing COTS Systems Overview of Automated Testing Goals, basic concepts, advantages and disadvantages Test automation tools Risk management in Testing Risk classification Risk analysis and priorities, risk management Your Career as Software Tester Tester: personal qualities Features of tester's work Professional development Testing certifications Interview with potential employer Preparation for interview CV, typical questions and answers, behavior at interview Exercises: Test cases design for test tasks Preparing of test documentation (test plan, test cases, check lists, test result report) Requirements analysis, traceability matrix Test design and test execution for test tasks Bug reporting Test design techniques: practical use [-]

Frontend Web Development technologies

Infopulse University Ukraine
Online 80 hours October 2017 Ukraine Kiev

Part 2: Work activities of a frontend developer include: collaboration with clients & colleagues, translation of graphic design into structured computer codes, writing scripts for frontend & backend interaction, checking the correctness of representation and its' behaviour, optimizing, fixing and researching for the single aim of web usefulness and easiness. [+]

All the beauty of today's web is powered by the frontend. What is it? Those webpages you see every day in your browser are themselves the frontend part of the web. Also, behind the scenes, there is backend part with servers and data storage. So frontend is what you immediately see and interact with on the web pages. It serves two purposes. First of all, it is used to structure and clearly represent information to users. Secondly, it brings you control over that information. It includes program scripts that are not seen on the screens but make the webpages interactive. This interaction has two stages: you push links and buttons & the scripts perform actions that you request over the data. This may take place in your browser or at the backend server. Frontend development is a logic, creative engineering activity that requires curiosity and analysis, accuracy and finding easy solutions. This area of IT has already attracted millions of developers all over the world. Still being the razor edge of the field it needs and welcomes an increasing number of new specialists. This is because of the transfer of applications from usual environments such as desktop, mobile-native, and even offline to the web. Work activities of a frontend developer include: collaboration with clients & colleagues, translation of graphic design into structured computer codes, writing scripts for frontend & backend interaction, checking the correctness of representation and its' behaviour, optimizing, fixing and researching for the single aim of web usefulness and easiness. Course outline Introduction to в JavaScript, basic information, syntax JavaScript as a С-like programming language Variables and data types. Single-dimensional and multidimensional arrays; hash arrays; array/hash functions Objects, object-oriented programming in JavaScript Strings objects and their methods Math object and its methods Functions: creating and calling Passing arguments to functions, parameters, result returning and using Conditional, looping, switching constructions; exceptions handling Date and time methods Timers: setTimeout, setInterval, setImmediate Browser object model (BOM): Navigator, document, history, location, navigator, screen, window Document object model (DOM) Access to webpage elements, native JS-objects of HTML-elements JavaScript using jQuery jQuery introduction Smooth transitions on the page: instructions, mechanics, browser load (accordion, toggle, animate, etc ...) jQuery client events handling – .bind(), etc... Collections iteration – each() Operations with HTML elements AJAX Page structure best approaches JS backend procedures calls Regular expressions Cookies Web-applications security essentials PHP essentials for data output Frontend View-level tasks Templates: pure PHP, smarty Data output Variables, arrays, objects, properties, methods Access to compound data types Control structures used in data output: loops, conditions Files inclusion Data formatting and conversion Developer tools Csslint, jslint, jshint IDE и online code editiors Bug-trackers Version control git Cross-browser: Modernizr, Browserstack, Virtualbox Exercises: Exercises are included in each topic and provide practical implementation of explained materials: dynamic visual elements, drop-down menus, galleries, form checking, online shopping cart, etc. You can include these works to your professional portfolio to secure getting job. [-]

SQL query language

Infopulse University Ukraine
Online 35 hours September 2017 Ukraine Kiev

SQL (stands for Structured Query Language), is a computer language, which is used to communicate with and manipulate databases. To get the most from the huge amounts of data they collect, many businesses must become versed in SQL. SQL is used by businesses as a way to access and manipulate the information and data that is stored in their databases, as well as for creating and altering new data that stored database tables. A database is a tool for collecting and organizing information. Databases can store information about products, orders, payments or anything else. Many databases often start as plain text file or spreadsheet, but as they grow larger one will find it helpful to transfer them to a database created by a database management system. This course will familiarize you with SQL and will help you use databases proficiently and with high output. [+]

Best Course Studies in Computer Science in Ukraine 2017. SQL (stands for Structured Query Language), is a computer language, which is used to communicate with and manipulate databases. To get the most from the huge amounts of data they collect, many businesses must become versed in SQL. SQL is used by businesses as a way to access and manipulate the information and data that is stored in their databases, as well as for creating and altering new data that stored database tables. A database is a tool for collecting and organizing information. Databases can store information about products, orders, payments or anything else. Many databases often start as plain text file or spreadsheet, but as they grow larger one will find it helpful to transfer them to a database created by a database management system. This course will familiarize you with SQL and will help you use databases proficiently and with high output. Course outline Introduction. Basic concepts and definitions What is SQL and why do you need it SQL standards Strengths and weaknesses What is a database? Database management system MySQL. Relational theory Basic Concepts Relations. Keys of relations Normal forms. Results of normalization Relational operations Getting Started with DB Differences between SQL and relational theory RDBMS MySQL Database client application Squirrel Quick notes of SQL syntax Table definition tools and data manipulation Table definition tools Subordinate relations Data integrity constraints Data manipulation. Part 1 Fetching data from table Training database and input data Formulating the task Answering the questionnaire SELECT statement syntax Semantics of query Composing SELECT step by step Fetching data from the table - WHERE clause The concept of a predicate. Rules of the logical expressions Comparisons predicates, LIKE, BETWEEN, IN, IS NULL, MATCH Fetching data from the table - aggregation Aggregate functions HAVING clause Operators DISTINCT and ALL Practice tasks set №1 Fetching data from the table - subqueries The scheme of subquery work Subqueries in WHERE clause. Predicates once again Subqueries in columns Subqueries in the FROM clause Fetching data from the tables – joining tables Relationship with the relational theory What might be in the FROM clause Joining tables using JOIN operator Inner joins Outer joins Join on inequality The union, division, subtraction Data Manipulation. Part 2 Adding data to a table - INSERT Changing table data - UPDATE Adding-or-changing(merging) table data – INSERT … ON UPDATE Deleting data from a table - DELETE e. Merging data. Practice tasks set №2 Recursive queries The concept of hierarchical data representation Data processing hierarchy by using the adjacent data model Data processing hierarchy using the nested set model Triggers Triggers usage Imposing corporate constraints BEFORE and AFTER triggers INSERT, UPDATE and DELETE triggers ROW and STATEMENT triggers Special objects OLD and NEW Creating Views Advantages and disadvantages of creating views Updatable views. Views with restrictions Authorization tools Data dictionary Users manipulation Granting and revoking rights Access levels Transaction Management ACID transaction Transactions phenomenons Isolation levels Query performance tuning Large amounts of data Query planner Indexing Partitioning Join algorithms Practice tasks set №3 Database Design using UML Requirements Analysis Creation of class diagram Association, composition and aggregation relationships Transition from classes diagram to the ERD Final project: creation of billing system of mobile operator Preparation of functional requirements for project Preparation of technical requirements Creation of database Filling the database and calculation the necessary indicators Composing of user’s bill [-]

JAVA Frameworks

Infopulse University Ukraine
Online 80 hours October 2017 Ukraine Kiev

This is a general purpose, object-oriented and high-level programming language, prevalent in many sectors. Startups, banking and finance, aerospace, high-tech, medical and other diverse industries use Java to automate processes and enable new business. Students will learn a broad range of tools and frameworks, building a foundation on which to start a rewarding career. [+]

Course outline Version control systems Classical systems CVS, SVN Distributed systems Git, Mercurial Public repositories Github, Bitbucket Continuous integration (CI) via Jenkins Java project automation development systems Ant Maven The standard project structure Dependency Management Gradle Frontend development basics Basic concepts of HTML, CSS Interaction between JavaScript clients and Java server Servlets and JSP HTTP basics Processing of HTTP requests via servlet Sessions and cookies JSP pages JSP Expression Language and JavaBeans Java Web development patterns MVC DAO Three-layer architecture of enterprise applications Web services SOAP REST Object-relational mapping Hibernate JPA Lazy load JPA Query Language Main Spring technologies Spring IoC container and dependency injection Spring MVC Review other Spring technologies Java EE JSF HTTP requests processing in JSF model JSF Backing Beans Facelets Navigation rules Creating a composite pages based on templates and attachments JSF data validation mechanisms Java EE EJB Enterprise Java Beans types EJB-container services POJO and annotations Dependency Injection in Java EE EJB Timer Service SPA Web applications AJAX-based requests SPA and DOM changes SPA frameworks review Rendering HTML templates on the client side HTML template and model linking History API Practical work: web project with a full stack of technologies (forum, social network or online store). [-]

JAVA Advanced

Infopulse University Ukraine
Online 80 hours October 2017 Ukraine Kiev

JAVA - This is a general purpose, object-oriented and high-level programming language, prevalent in many sectors. Startups, banking and finance, aerospace, high-tech, medical and other diverse industries use Java to automate processes and enable new business. Students will learn a broad range of tools and frameworks, building a foundation on which to start a rewarding career. [+]

Best Course Studies in Computer Science in Ukraine 2017. Course outline Exception handling Models of errors handling. Exception triggering. Classification of exceptions. The concept of try-catch-finally block. Keywords throws and throw. Creating a custom exception. Java interfaces The concept of interface. Interface features. The place for interfaces in system design. Callback and Delegate patterns Objects cloning Global superclass Object and its methods. The deep and shallow copy of object. Interface Cloneable. Object initializing with variable number of attributes. Builder Pattern Working with files Package java.io. Class File. Working with files and directories. Reading data from file and writing data to file. Classes FileReader, FileWriter, BufferedReader and BufferedWriter. File access related exception. Interfaces FileFilter, FilenameFilter. Object Serialization Applications of serialization. Interfaces Serializable and Externalizable Generic programming The concept and purpose of generic programming. Generic class. An instance of a generic class. Generic methods. Restrictions to generics. Generics inheritance. Annotations in Java Built-in annotations usage. Creation custom annotations Working with databases Databases fundamentals. The concept and purpose of the database (DB) and database management systems (DBMS). Overview of popular DBMS. Relational databases. Basic concepts of database theory. Database design. Datatypes in databases. Normal forms. Ensuring data integrity. Fundamentals of Structured Query Language SQL. Purpose and usage of SQL. Database creation, table creation (CREATE operator). Modification of data (INSERT and UPDATE operators). Querying of data (SELECT operator). Queries from multiple tables. Queries with conditions (WHERE operator). Sorting data (ORDER BY operator). Grouping data (GROUP BY operator). Join queries, unions, subtraction tables Package java.sql. Establishing a connection to database. Classes Connection, Statement, and ResultSet. Design pattern DAO. Working with databases using ORM technologies Collections Interfaces and classes of collections. Collection interface. Iterator and Iterable interfaces. Interfaces List, Set, SortedSet, Queue. Classes Vector, Stack, ArrayList, LinkedList, HashSet, TreeSet. Comparable and Comparator interfaces. Interface Map. Logging of program work Package java.util.logging Package log4j Threads The concept of multi-threaded application. Class Thread. Runnable interface and features of its realization. Threads priorities. Method join(). Interruption of thread. Thread synchronization. Synchronized methods. The concept of the monitor. Synchronized keyword. Callable interface. Blocking queues. Artifacts of java.util.concurrent package : Semaphore, CountDownLatch, Executor, Barrier, Exchanger Atomic variables XML basics The structure of the XML-document. Parsing XML-documents. Validation of XML-documents. XPath. Namespaces. Streaming parsers. Creation of XML-documents. Marshalling and Unmarshalling Web programming basics Servlets Tomcat application server installing and setting up. Servlet creation. Basics of Java Server Pages (JSP) technology. Custom Tag, JNDI Web services The concept of Web service. Web services creation technologies. Description of Web service via WSDL. Web service usage in client application. Practical tasks of the course: Development of multi-threaded statistical simulator. [-]

JAVA Fundamentals

Infopulse University Ukraine
Online 60 hours September 2017 Ukraine Kiev

This is a general purpose, object-oriented and high-level programming language, prevalent in many sectors. Startups, banking and finance, aerospace, high-tech, medical and other diverse industries use Java to automate processes and enable new business. Students will learn a broad range of tools and frameworks, building a foundation on which to start a rewarding career. [+]

Course outline Introduction to Java Application areas. The Java platform. Features of Java. Java Virtual Machine. Java Development Kit. Java Runtime Environment. Compiling and running programs from the command line. Integrated Development Environment (IDE). Overview of popular development environments. Perspectives of using and development of the Java programming language Working with Eclipse IDE Download and installation Eclipse. Setting up a workspace. Configuring Java in Eclipse. Overview of Eclipse working environment. The concept of the project. Creation and running a simple Java application in Eclipse. Overview of program debugging. Diagnosing problems. The concept of unreachable code. Debugging programs in Eclipse. The basic syntax of Java Data types. Primitive data types. Reference data types. Converting numeric types. Type casting. Variables. Initializing variables. Constants. The modifier final. Operations. Arithmetic operations. Increment and decrement operations. Relational operations. Logic operations. Bitwise operations. Mathematical Functions (Class Math). Priority of operations. Control operators. If statement and its forms. Nested ifs. Switch operator. Blocks and local variables. Break operator. Ternary operator. Loops operators. The concept of loop condition and exit. While loop. Do-while loop. For loop. Nested loops. Continue operator. Return operator. Arrays. The concept of the array. Declaration, creating and initializing arrays. Changing size of array. Multidimensional arrays. Methods. The concept of the method. Method signature and method body. Method calling. Passing parameters to method. Return value. Overloading methods. Recursive methods. Methods with variable number of parameters. Working with strings. Class String and its methods. StringBuffer and StringBuilder classes. Converting numbers to Strings and back. Basics of object-oriented programming The notion of abstraction. The principles of object-oriented programming: inheritance, encapsulation, polymorphism. The notion of class. The concept of the object. Relationships between classes. Creating objects. New operator. Class methods. Access modifiers. Keyword static. Wrapper classes of primitive types (package java.lang). Autoboxing and unboxing values. Constructors. Fields initialization rules. Overloaded constructors. Keyword this. Keyword super. Creating custom classes. Class inheritance. Abstract classes. Enums The concept of enum. Creation of enumerated types. Writing custom enums with constructors and methods. Graphics user interface components General information about AWT and Swing libraries. Package javax.swing. • Frame creation. Location and size of the frame. Properties of frame. The concept of layout and user interface controls. Adding visual components to frame. Visual components events handling. WindowBuilder plugin. Packages and archives in Java Packages. Import classes. Placing classes into packages. Creating a JAR-file. Practical tasks of course: Practical exercises consists of solving a number of educational tasks aimed at mastering basic Java programming skills, as well as the final project - the creation of a featured GUI application. [-]