Դասընթացներ

Տվյալների Հենքեր (Databases)

Տվյալներն ամենուր են։ Մեր ամեն մի գործունեությունը բերում է այդ տվյալների շարունակական ավելացման։ Ո՞վ և ինչպե՞ս է կառավարում դրանք։ Որտե՞ղ են պահպանվում և ինչպես են դառնում հասանելի մեզ համար տվյալները։ Ի՞նչ կառուցվածք բետք է ունեն տվյալները, որպեսզի հնարավոր լինի կազմակերպել դրանց հետ աշխատանքի արդյունավետ եղանակներ։

Սկիզբը՝ մայիսի 26

Դասավանդողներ՝ Մանուշակ Աղասյան, Ադրիանա Գեղամյան

  1. Ներածություն, ER մոդել
  2. Ռելացիոն մոդել, Ֆունկցիոնալ կախվածություն, Նորմալ ձևեր, անոմալիաներ
  3. Ռելացիոն հանրահաշվի հիմնական հասկացությունները, SQL-ը ռելացիոն հանրահաշվի վրա հիմնված լեզու։ SQL-ի հիմնական հասկացությունները։ Create table, insert, update, delete
  4. Select (where, group by, union, …, join, subquery, …)
  5. View, procedure, function, Index
  6. Trigger, apply, Ranking functions, cube
  7. Տրանզակցիա, isolation levels, deadlock, table hints, execution plan
  8. Database, Login, user, backup…
  9. Տվյալների ղեկավարման այլ համակարգերի մասի` ODL, Datalog
  10. ADO.net-ի ու LINQ-ի մասին ընդհանուր տեղեկություն

Ալգորիթմներ և տվյալների կառուցվածքներ

Դասընթացի ընթացքում կուսումնասիրենք ալգորիթմական խնդիրներ լուծելու հիմնական հնարքները, որից հետո արդեն կսկսենք խորացված տվյալների կառուցվածքների ուսումնասիրումը։ Կլինեն գործնական դասեր, որոնց ընթացքում ակնկալվում է ձեր ակտիվ մասնակցությունը։

Նախադրյալներ: Որևէ ծրագրավորման լեզվի բազային գիտլիքներ (ցանկալի է C++): Բազային գիտելիքներ մաթեմատիկական անալիզից և դիսկրետ մաթեմատիկայից: Անալիտիկ մտածելակերպը կդիտվի առավելություն։

Դասավանդող՝ Վահագն Ալթունյան

  • Introduction to algorithms. Computational runtime. Algorithm complexity. Big-O notation.
  • General algorithmic techniques: Greedy approach, divide and conquer, dynamic programming.
  • Sorting algorithms, analysis.
  • Introduction to data structures. Linear data structures queue/stack/list/dequeue/array.
  • Heaps. Binomial heaps. Fibonacci heaps.
  • Graphs. Graph traversals. Shortest path algorithms. Topological sort.
  • Trees. Binary search trees. Balanced binary search trees. Red-Black trees. B-trees.
  • Amortized analysis. Theta notation. Hash tables. String hashing.
  • Maybe more complicated algorithms using general techniques

Օպերացիոն համակարգեր

Ծանոթացում օպերացիոն համակարգերի սահմանման, հիմնական գործառույթների, ճարտարապետության և կոմպոնենտների հետ։ Օպերացիոն համակարգը՝ որպես ծրագրավորողի անփոխարինելի գործիք և գործընկեր։

Դասավանդող՝ Վահրամ Մարտիրոսյան

  • Ներածություն։ Ինչ է օպերացիոն համակարգը և ինչու է այն անհրաժեշտ ծրագրավորողին
  • ԷՀՄ ճարտարապետության տարրեր՝ կենտրոնական պրոցեսոր, հիշողություն, հաղորդակցության միջոցներ, արտաքին սարքեր
  • Օպերացիոն համակարգերի ճարտարապետություններ և դրանց համեմատությունը
  • Պրոցեսներ և thread-ներ։ Զուգահեռ ծրագրավորում, սինխրոնիզացիա
  • Հիշողության կառավորում՝ էջային և սեգմենտային հիշողություն
  • Ֆայլային համակարգեր
  • Աշխատանք արտաքին սարքերի հետ

Ցանցային և վեբ ծրագրավորման հիմունքներ

Ֆունդամենտալ դասընթաց, որտեղ կբացահայտվեն համակարգչային ցանցերին և ցանցային ծրագրավորմանը վերաբերող բոլոր դրույթները։ Ինչպես նաև կներկայացվի վեբ ծրագրավորման էությունը և որոշ ֆունդամենտալ գաղափարներ։

Դասավանդող՝ Վահրամ Մարտիրոսյան

Դասընթացի սկիզբը՝ ապրիլի 15

  • Ինչ է համակարգչային ցանցը, տոպոլոգիաներ, տարածվածություն, արձանագրություններ
  • Ինչ է ինտերնետը և ինչ է Ինտերնետը
  • DNS, IP, port, host, URL, resource, protocol, TCP, routing և այլ անհասկանալի տերմիններ
  • Ցանցային ծրագրավորում՝ socket
  • Բարդ ցանցային համակարգի նախագծում և իրականացում՝ Vehicle tracking system
  • Ինչ է վեբը։ HTTP արձանագրություն
  • Cookies, sessions, CORS, authentication and authorization և այլ անհասկանալի տերմիններ
  • Web API, RESTful services
  • Բարդ վեբ համակարգի նախագծում և իրականացում՝ Centralized authentication service

UI / UX Դիզայնի Գործնական դասընթաց

Դասընթացը նախատեսված է UI/UX-ից զրոյական կամ բազային գիտելիքներ ունեցող մարդկանց համար, ովքեր ցանկանում եմ ձեռք բերել նոր մասնագիտություն և կարողանալ ստեղծել ֆունկցիոնալ և գեղեցիկ դիզայն` տալով խնդիրներին թիրախավորված լուծումներ:

Գործիքները` figma, adobe illustrator, invision

Տևողությունը` 2 ամիս

Մասնակիցների Քանակը` Առավելագույնը 10

Գրանցման վերջնաժամկետ՝ Մայիսի 4

Դասավանդող՝ Սիրանուշ Հովսեփյան

  1. Ինչ դեր եւ գործառույթ ունի UI/UX մասնագետը կազմակերպությունում
  2. Ինչպես 0-ից ստեղծել նոր կայք` տալով պատվիրատուի խնդրին թիրախավորված լուծում
  3. Ինչպես ստեղծել որակյալ կայք` խնայելով թե՛ ծրագրավորողի, թե՛ պատվիրատուի ժամանակը
  4. UX ուսումնասիրություն
  5. Grids & Margins
  6. Wireframing
  7. Prototyping
  8. Վեբ և Տպագրական Տառատեսակներ
  9. Ծանոթություն իկոնների դիզայնին
  10. Մոբայլ UX
  11. Ծանոթացում Android և iOS համակարգերին
  12. Մոբայլ դիզայնի ցանցն (grid) ու կոմպոնենտները
  13. Ինչպես ֆորմատներով տրամադրել դիզայն ֆայլերը ծրագրավորողին
  14. Պորտֆոլիոյի ստեղծում

Բացահայտենք ՏՏ ոլորտը

Դասընթացը նախատեսված է ծրագրավորող ուսանողների համար, որոնք պատրաստվում են մուտք գործել ՏՏ ոլորտ: Դասընթացի շնորհիվ կբացահայտեք ոլորտի առանձնահատկությունները, աշխատաշուկա մուտք գործելու հնարավորությունները, ձեռք կբերեք հարցազրույցներին ճիշտ պատրաստվելու և մասնակցելու գիտելիքներ, ինչպես նաև ոլորտում հաջողելու և կայացած մասնագետ դառնալու գաղտնիքները:

Դասավանդող՝ Աննա Կոնջորյան

Դասընթացն անց է կացվելու ապրիլի 23-27 ՝ Սիներջի Բիզնես Կենտրոնում:

1. ՏՏ ոլորտի կազմակերությունների առանձնահատկությունները

  • Ընկերությունների տեսակները
  • Ընկերություններում առկա մասնագիտությունները և յուարքանչյուրի դերը պրոդուկտի ստեղծման գործում
  • Աշխատանքը կազմակերպելու հայտնի գործընթացների տեսակները և դրանց առանձնահատկությունները (Agile, Scrum, Kanban, Waterfall)
  • ՏՏ կազմակերպություններին բնորոշ մշակույթը, և ինչն է այդքան հրապուրիչ դարձնում այդ ոլորտը Հայաստանում

2. Ծրագրավորողների մասնագիտական զարգացման ուղիները

  • Տեխնիկական և մենեջերական աճ
  • Արհեստավարժ մասնագետ դառնալու մարտահրավերները և ինչպես հաղթահարել դրանք
  • Ինքնազարգացման մեթոդներ
  • Մասնագիտական զարգացման պլանավորում

3. Ոլորտ մուտք գործելու առաջին քայլերը

  • Շուկայում առկա հնարավորությունները սկսնակ ծրագրավորողների համար
  • Ինչպես դիմել, պատրաստվել և մասնակցել աշխատանքի հարցազրույցներին
  • Աշխատանքային հարաբերությունները, ձեր և ընկերության իրավունքներն ու պարտականությունները

4. ՏՏ ոլորտում առաջ գնալու համար կարևոր հմտությունները

  • Ժամանակը ճիշտ կառավարելու հմտություններ
  • Նախաձեռնողականություն և ինչպես լինել այդպիսին
  • Թիմային աշխատանք և հաղորդակցման հմտություններ

Cryptography and Blockchain Fundamentals

In this class we will cover fundamentals of cryptography and building blocks of blockchain, followed by hands-on coding projects related to blockchain code.

Pre-requisites։ knowledge of linear algebra and one of programming languages C++, C# or Java.

Lecturer: Martun Karapetyan

  • Introduction
  • Core Crypto
    • AES, DES, 3DES
    • RSA, Elliptic Curve Cryptography
    • SHA-256, MD5
  • Blockchain
    • General overview or How it works
    • UTXO
    • MemPool
    • Mining, POW, POS
    • Gossip Protocolo, transaction propagation
    • Examples of standard transactions like Pay to public key, pay to script, Multi Signature, etc.
    • Use cases of blockchain
    • Dandelion, alternative to Gossip
    • Merkle Trees and simplified Payment Verification
    • Lightning Network
  • Smart Contracts (Solidity)
  • Project

Write your own blockchain from scratch in the language of your choice.

Անգլերեն մասնագիտական աճի համար

Դասընթացը նախատեսված է անգլերեն սովորել ցանկացողների համար,զրոյական կամ բազային գիտելիքներ ունեցող մարդկանց համար, որոշակի անգլերենի մակարդակ ունեցողների համար։Անգլերենի դասընթացը բաղկացած է լինելու մի քանի մակարդակներից, ստորև ներկայացված են մակարդակները․

Անգլերեն սկսնակների համար

Այս դասընթացի համար հարկավոր է ունենալ զրոյական կամ բազային գիտելիքներ։

Այս դասընթացից հետո դուք կտիրապետեք որոշակի քանակի բառապաշարի և քերականության, որը ձեզ կտա հնարավորություն հաղորդակցվելու։

Դուք կտիրապետեք հետևյալ թեմաներին՝

  • աշխատանք
  • բժշկություն
  • արվեստ
  • հայտնագործություններ
  • պատմություն
  • եղանակ
  • ֆիլմեր
  • կենդանիներ
  • սպորտ
  • սնունդ
  • ամենօրյա կիրառական արտահայտություններին

Բիզնես անգլերեն

Այս դասընթացը նախատեսված է այն մարդկանց համար, ովքեր կարողանում են արտահայտել իրենց մտքերը անգլերենով և արդեն ունեն որոշակի մակարդակ, բայց զրոյական կամ սկսնակներ չեն։

Դուք կտիրապետեք՝

  • Բիզնես անգլերենին հատուկ բառապաշար
  • Քննարկումներ և բանակցություններ վարում
  • Պրեզենտացիաների պատրաստում
  • Նամակագրություն
  • մարքեթինգ
  • թիմային աշխատանք
  • կազմակերպությունների տեսակներ
  • նախագծերի իրականացում
  • ապրանքներ և առևտուր
  • մրցակիցներ
  • թրենդեր և բրենդեր
  • վաճառք
  • աշխատանքային էթիկա

ՏՏ անգլերեն

Այս դասընթացը նրանց համար է, ովքեր արդեն տրրապետում են անգլերենին և կարողանում են հաղորդակցվել, սակայն ուզում են սովորել ՏՏ անգլերեն մասնագիտական աճի համար։

Կտիրապետեք մասնագիտական անգլերենին հարկավոր բառապաշարին։

Այս դասընթացը ներառում է հետևյալ թեմաները՝

  • օպերացիոն համակարգեր
  • ծրագրային ապահովման ծրագրեր
  • ՏՏ ոլորտի կարիերա
  • համացանց
  • ՏՏ ոլորտում մարդիկ
  • ծրագրավորման լեզուները
  • հիշողություն և պահեստավորում
  • համակարգչային էթիկա

Ծրագրավորման հիմունքներ

Ծանոթացում ծրագրավորման հիմունքներին, ինչը կօգնի ուսանողին կողմնորոշվել, թե ո՛ր դասընթացները և թեմաներն են իրեն առավել հետաքրքիր։ Դասըթացը կարող է պարունակել հետևյալ թեմաներից մի մասը կամ բոլորը՝ կախված լսարանի արձագանքներից և նախնական հետաքրքրություններից։

Դասավանդողներ՝ Վահրամ Մարտիրոսյան, Աննա Կոնջորյան, Գևորգ Մարտիրոսյան և ուրիշներ։

  • Ներածություն։ Ինչ է ծրագրավորումը և ովքեր են ծրագրավորողները
  • Ինչ և ինչպես է պետք սովորել՝ որակյալ ծրագրավորող դառնալու համար
  • Հայկական աշխատանքային շուկան՝ ծրագրավորողի աչքերով
  • Մաթեմատիկական տրամաբանություն և դիսկրետ մաթեմատիկա
  • Ծրագրային ապահովման կյանքի ցիկլ, պրոցեսներ և մեթոդոլոգիա
  • Ազատ աշխարհ և ազատ ծրագրային ապահովում
  • Օպերացիոն համակարգեր։ Ինչ է այն և ինչի համար է այն
  • Մինիմալ “Hello, World!” ծրագրի վերլուծություն
  • Ցանցային և web-ծրագրավորման հիմունքներ
  • Սուպերհամակարգիչներ և զուգահեռ ծրագրավորման հիմունքներ
  • Տվյալների կազմակերպում և պահպանում
  • Օբյեկտ-կողմնորոշված ծրագրավորման հիմունքներ
  • .Net Framework միջավայրում ծրագրավորման հիմունքներ
  • Աշխատանքային միջավայր և իրավիճակների վերլուծություն

C++ ծրագրավորում POSIX միջավայրում

POSIX ստանդարտն իրենից ներկայացնում է աշխարհում ամենատարածվածը՝ ծրագրերի մշակման հարցում։ Այս դասընթացի ընթացքում կծանոթանանք աշխարհի ամենաբարդ լեզուներից մեկին՝ C++-ին և կուսումնասիրենք այդ լեզովով POSIX միջավայրում ծրագրավորում՝ Linux օպերացիոն համակարգի օրինակի վրա։

Օպերացիոն համակարգերի դասընթացն անցած ուսանողները հնարավորություն կունենան առավել խորը և ամբողջական յուրացնելու այս դասընթացը։

Դասավանդող՝ Վահրամ Մարտիրոսյան

  • C++ հիմունքներ
  • Ծրագրի կոմպիլյացիա և բեռնում
  • Բարդ համակարգերի նախագծում
  • GNU/Linux համակարգը՝ որպես ծրագրավորման միջավայր, POSIX Ծրագրավորում
  • Պրոցեսների կառավարում՝ fork, exec, wait ֆունկցիաներ
  • POSIX Threads
  • Ֆայլեր՝ creat/open, read/write, close, fcntl, ioctl ֆունցկաներ
  • Inter Process Communication՝ Pipe, FIFO, Shared memory, socket programming.

ԷՀՄ ճարտարապետություն

Դասընթացի նպատակն է հասկանալ պաշտպանված ռեժիմում հիշողության կազմակերպումը, ընդհատումների մեխանիզմը, բազմախնդրային ռեժիմը և տվյալների քեշավորումը։ Կներկայացվի Օպերացիոն Համակարգերի և ԷՀՄ ճարտարապետության կապը։ Ստացված գիտելիքը թույլ կտա հասկանալ ծրագրի և օպերացիոն համակարգերի աշխատանքների առանձնահատկությունները։

Դասավանդող՝ Գևորգ Մարտիրոսյան

Դասընթացի սկիզբը՝ ապրիլի 26ին։

  1. Ճարտարապետության ընդհանուր կառուցվածքը
  2. Հիշողության կազմակերպում. սեգմենտավորում
  3. Հիշողության կազմակերպում. էջային մեխանիզմ
  4. Պաշտպանություն
  5. Ընդհատումների մեխանիզմ
  6. Բազմախնդրային ռեժիմ
  7. Քեշավորում

Internet of Things

Մանրամասները շուտով