Java პროგრამირების ტრენინგი. ჯავის დეველოპერი

გამარჯობა. თუ თქვენ კითხულობთ ამ სტრიქონებს, მაშინ ვადასტურებ, რომ ეს არის ჯავის გაკვეთილები. კურსი უბრალოდ სავსეა პრაქტიკით (1200+ პრაქტიკული პრობლემა) და განკუთვნილია ზრდასრული აუდიტორიისთვის. მეზიზღება მოსაწყენი ლექციები, ამიტომ JavaRush მზადდება ონლაინ თამაშის (ქვესტი) სახით.

მოგიწიათ თამაში და თქვენი პერსონაჟების დონის ამაღლება? ხანდახან ვერც კი ამჩნევ, როგორ ჩაერთვები, არა? შეგიძლიათ გამოიცნოთ სად მივდივარ ამით? JavaRush-ში ასევე მოგიწევთ თქვენი პერსონაჟის დონის ამაღლება. 1-დან 40-მდე დონემდე. თუ დაასრულებთ მთელ კურსს, გახდებით ჯავის მაგარი პროგრამისტი.

თუ დაასრულებთ 40 დონეს, შეგიძლიათ მიიღოთ სამუშაო java სამუშაოუმცროსი. მიუხედავად იმისა, რომ არიან პირები, რომლებმაც უკვე იპოვეს სამუშაო მე-20 დონეზე. რადგან JavaRush-ში ბევრი პრაქტიკული დავალებაა. ამდენი.

თამაშის მოვლენები ვითარდება შორეულ, შორეულ მომავალში, 3017 წელს, სადაც ადამიანები ცხოვრობენ დედამიწაზე რობოტებთან ერთად და ნებისმიერს შეუძლია კოსმოსში მოგზაურობა.

ერთ დღეს კოსმოსური ხომალდი ჩამოვარდა უცნობ პლანეტაზე...

ფონი

Team Galactic Rush ჩამოვარდა უცნობ პლანეტაზე. როგორც კი გემი დაეცა, ის მთას დაეჯახა და თითქმის მთლიანად კლდის ნამსხვრევებით იყო დაფარული. გემის გასათავისუფლებლად რამდენიმე დღე უშედეგო იყო. ეკიპაჟმა დაკარგა სახლში დაბრუნების ყოველგვარი იმედი და დაიწყო ახალ ადგილას დასახლება...

ერთი კვირის შემდეგ გემის ნავიგატორმა ელიმ შემთხვევით აღმოაჩინა, რომ პლანეტა დასახლებული იყო... ათასობით ველური რობოტით! მათ შეეძლოთ დაეხმარონ ქვების დაშლაში და გემის განთავისუფლებაში. მაგრამ ისინი ძალიან პრიმიტიულები და სულელები არიან - მათ არ აქვთ უნარები. ქვების ტარებაც არ იციან. რაც ძალიან დაგვეხმარება.

ექსპედიციის სამეცნიერო ხელმძღვანელმა, პროფესორმა ნუდლსმა მოგვიანებით გაიხსენა:
- რამდენიმე დღის შემდეგ გამოსავალი ვიპოვე. მე გამიჩნდა იდეა, რომ ავიღო რობოტი დიეგოს, ჩვენი ეკიპაჟის წევრის პროგრამული უზრუნველყოფა, გადამექცია ის აგურის მშენებლის პროგრამულ უზრუნველყოფაზე და ავტვირთო ველურ რობოტებზე.

მაგრამ მარცხი თითქოს მოგვყვა. მცირე გამოკვლევის შემდეგ აღმოჩნდა, რომ რობოტებს არ აქვთ კონექტორი firmware-ის ჩამოტვირთვისთვის. საერთოდ არ ჰქონდათ გასანათებელი კონექტორი!

ბილაბოს, ეკიპაჟის ერთადერთ უცხოპლანეტელს, გაახსენდა, რომ ერთხელ თავის მშობლიურ პლანეტაზე ნახა რობოტი, რომელმაც პროგრამირება იცოდა. და მან არა მხოლოდ იცოდა, არამედ გამოასწორა შეცდომები საკუთარ firmware-ში.

სწორედ ამ მომენტში მომივიდა ბრწყინვალე იდეა. ბოლოს და ბოლოს, ერთხელ პასკალში ვასწავლიდი ერთ კომპეტენტურ რობოტს პროგრამირებას.

უბრძანა უნიჭიერესი ახალგაზრდა რობოტის დაჭერა და ვასწავლე პროგრამირება ჯავაში. იცოდა როგორ პროგრამირება, მას შეეძლო დაეწერა ნებისმიერი firmware თავისთვის და დაგვეხმაროს!

ზოგადად, ჩვენ დავიჭირეთ ერთი ჭკვიანი ნიმუში. დიეგომ შესთავაზა მას ამიგო დაერქვა, ძმის პატივსაცემად, რომელიც არასდროს ჰყოლია.

მე შევთავაზე Amigo-ს ლითონის მძივები ვარჯიშის ყოველი თვისთვის და წელიწადში ათი დოლარი შემდგომი მუშაობისთვის ბლოკირების მოცილებისთვის. ველურებს ესეც ბევრი აქვთ, რადგან მათ უფასოდ ვასწავლით.

მოგვიანებით დიეგო თავის მემუარებში წერდა:

მე აღშფოთებული ვიყავი ჩემი ძმის ამხელა ძარცვამ, მაგრამ მთელმა გუნდმა პროფესორისა და რიშის მხარე დაიკავა. რა თქმა უნდა, დავთანხმდი (გამოჩენისთვის) და შევთავაზე დახმარება ამიგოს სწავლებაში. ჰეჰე! მეტიც, ვერავინ ავარჯიშებს რობოტს სხვა რობოტზე უკეთესად.

ყველა იმდენად კმაყოფილი იყო ჩემი შესაბამისობით, რომ მათ ასევე გადაწყვიტეს აქტიური მონაწილეობა მიეღოთ Amigo რობოტის მომზადებაში ჯავაში.

თქვენ იწყებთ პირველი დონიდან. თქვენი ამოცანაა განაახლოთ Amigo 40 დონეზე.მაგრამ დავიწყოთ მცირედით. პირველი, გადადით მეორე დონეზე. იქნებ ისე მოგეწონოს, რომ ვერც კი შეამჩნიო როგორ ამთავრებ კურსს და მიდიხარ სამსახურში;)

ახლა გადავიდეთ ნულიდან სწავლაზე - დააჭირეთ ღილაკს "გახსენით შემდეგი ლექცია...".

სერგეი
ტორჩიკოვი

პროგრამა.

მასწავლებელი.

გუნდი OTUS

შედეგი.

ნიკოლაი
დობროვოლსკი



ანტონ
მატვეევი

ალექსეი
მაიანოვი

პოლ
სტრეკალოვი

მაიკლ
მტვერი

დანიელ
კლიპოვი

კურსმა ჩემზე მხოლოდ დადებითი შთაბეჭდილება დატოვა, მომცა დამწყებთათვის სხვადასხვა სტატიებიდან და სახელმძღვანელოებიდან მიღებული ცოდნის სტრუქტურირება და გაღრმავება, ასევე შემდგომი განვითარების მიმართულება. დან დადებითი ასპექტებიმინდა აღვნიშნო საკმაოდ რთული საშინაო დავალება, საინტერესო პრეზენტაცია და მასწავლებლების მიერ მასალის შერჩევის ხარისხი. კურსის გამორჩეული ნიშნებია შესვლის ბარიერის არსებობა და კლასების მაღალი ინტენსივობა. შემიძლია ვურჩიო მათ, ვინც უკვე ფლობს ენის საფუძვლებს, მაგრამ არ იცის რა მიმართულებით გააგრძელოს მოძრაობა.

სერგეი
ნოვოჟილოვი

დიდი ხანია ვეძებ მსგავს კურსს, რომელიც არ არის განკუთვნილი დამწყებთათვის. ძალიან საინტერესო და სასარგებლო იყო. განსაკუთრებით მინდა აღვნიშნო მასწავლებლები. ყველას, ვინც კი კარგად იცნობს ამ საკითხს, არ შეუძლია ნათლად ისაუბროს და ახსნას. ვიტალი და დიმიტრი ამას კარგად აკეთებენ. კიდევ ერთი დიდი პლუსია მასწავლებლის მიერ საშინაო დავალების ანალიზი; ძალიან სასარგებლოა კომენტარებისა და რეკომენდაციების მიღება. საერთო ჯამში, 5 ქულა 5-დან.

ოლგა
ბაიონეტი

საერთო ჯამში ძალიან მომეწონა კურსი. არატრივიალური საშინაო დავალება, მკაფიო და ხელმისაწვდომი ლექციები მასწავლებლებისგან. თავად კლასების თემები აქტუალურია, ზოგჯერ არ ფიქრობთ მათ მნიშვნელობაზე მიმდინარე განვითარებაში, მაგრამ დისკუსიის დროს ირკვევა მათი გაგების საჭიროების ხარისხი. საშინაო დავალება შედარებით სწრაფად შემოწმდება, შაბათ-კვირას შევიტანე შესამოწმებლად და კვირის განმავლობაში დეტალური კომენტარებით შემოწმდა. ერთადერთი უარყოფითი არის გადახდის დელიკატური სიტუაცია. ყოველ თვეს ცალ-ცალკე ვიხდიდი. ყველა საშინაო დავალება დროულად ჩავაბარე. მაშინვე მივხვდი, რომ პროექტისთვის საკმარისი დრო არ მქონდა, ამიტომ უარი ვთქვი მის დასრულებაზე. და გამოდის, რომ ბოლო თვის გადახდა (რომელშიც საშინაო დავალება არ არის) მხოლოდ მოწმობის გაცემას გულისხმობს. 10000 სერთიფიკატი? არ მოვიდეს.

ალექსეი
ფოტეხინი

2018 წლის აპრილიდან თითქმის ერთი წელი გავიდა და ღილაკი მხოლოდ ახლა ვნახე).
მოკლედ, კურსი შესანიშნავია!

მომეწონა მასალის პრეზენტაცია, მასწავლებლების მზადყოფნა გაკვეთილისთვის, თუ გაკვეთილზე კითხვები გაჩნდებოდა, მაშინვე პასუხობდნენ, ხმით კითხვის საშუალებაც კი იყო. მომეწონა საშინაო დავალება, თავიდან ის ენის ან ტექნოლოგიის გაგებაზე იყო მიმართული (ვებ, jdbc). შემდეგ ჩვენ დავიწყეთ უფრო გართობა, მაგალითად, ჩვენი საკუთარი ჯუნიტ-ჩარჩო. ძალიან მომეწონა საშინაო დავალება დიზაინის შაბლონზე და json სერიალიზატორზე. საშინაო დავალებას ხშირად ამოწმებდნენ, რჩევები და რჩევები იმის შესახებ, თუ სად უნდა გათხაროთ, ყოველთვის აქტუალური იყო. ზოგჯერ ცხადი იყო, რომ ინსპექტორი შეცდომის მინიშნებას სხვადასხვა გზით ცდილობდა. იმათ. ასე არ იყო, აქ გაასწორე და მივიღებ. ინსპექტორებს ასევე შეეძლოთ საშინაო დავალების მიცემა +-ით. მართალია, მახსოვს, უარი ვთქვი, ძალიან მინდოდა ყველაფრის დასრულება, მაგრამ სინამდვილეში ვალში ვიყავი.

არ მომეწონა პლატფორმა, რომლის მეშვეობითაც ვებინარი გაიმართა, რამდენჯერმე შეიცვალა - ჩამორჩება, იყინება, ინტერნეტი იშლება, ერთი სიტყვით საშინელებაა). იმედია ახლა უკეთესია. ზოგიერთი თემები, რომლებიც განიხილებოდა, იყო ძალიან დაქუცმაცებული და გალოპებული მათში. java-ში არის ობიექტურად დიდი თემები და მათი ახსნა შეუძლებელია 1-2 გაკვეთილზე (ბაზებთან დაკავშირებული თემები).

მე მაინც წავიდოდი, მასწავლონ, მაგრამ ვემზადები OCA/OCP-სთვის
წარმატებები ყველას!

იური
სუვოროვი

აპრილში, ერთი წელი გავიდა მას შემდეგ, რაც დავიწყე Java-ში პროგრამირება, რაც ნიშნავს პირდაპირ საბაზისო კურსიდან დაწყებას. ჩემი რეზიუმე Java-ს გამოცდილების თვალსაზრისით არ ანათებს, მაგრამ დამოუკიდებელი ექსპერტები, რომლებიც აძლევენ სატესტო დავალებებს და ამოწმებენ კოდს, ამბობენ, რომ მე ვწერ საშუალო პროგრამას, ხოლო უმცროსს სჭირდება ექვსი თვის სამუშაო, რომ დაწეროს "ასე". სინამდვილეში, OTUS კურსები მძლავრი გამაძლიერებელია წერის პრაქტიკაში. java-ში ექვსთვიანი მცირე გამოცდილების მქონე, აქ ერთდროულად გავიარე ორი კურსი OTUS-ში, ეს არის "Java Developer" და "Java Enterprise Developer". 28 საშინაო დავალება, რომელიც შესრულდა მომდევნო ექვსი თვის განმავლობაში (სინამდვილეში შესამჩნევად ნაკლები) მასწავლებლების (რეალურად სპეციალური ინსპექტორების) განხილვით ნამდვილად არ იყო უშედეგოდ. საშინაო დავალების ეს რაოდენობა, რა თქმა უნდა, დროის წარმოუდგენელი მკვლელია, ამიტომ კარგად დაფიქრდით, სანამ ერთდროულად გაივლით ორ კურსს. ამ "Java Developer" კურსში გექნებათ "მხოლოდ" 16 მრავალფეროვანი დავალება, მაგრამ ყველა მათგანი არ იქნება ამოღებული. ზოგადად, საინტერესო იქნება. რაც არ იქნება, არის იძულება ტესტირების სახით ყოველი გაშუქებული თემის შემდეგ, თუმცა არ ვიცი, იქნებ ადმინისტრაციამ დაიწყოს. და ასევე არ იქნება იძულება, რომ დაწერონ საპროექტო ნამუშევარი კურსის ბოლოს და, უარესი, ვინც გადაწყვეტს პროექტის განხორციელებას, დარჩება მასთან მარტო, მაგრამ კითხვების დასმის შესაძლებლობით. მაგრამ არ იქნება შესაძლებლობა მიიღოთ გამოცდილება საწარმოო განვითარებაში საპროექტო მუშაობის ფარგლებში, ასე რომ მიიღეთ იგი პროექტის გადაჭრისას.

დიმიტრი
ოლეინიკი

კურსი მოიცავს თანამედროვე ტექნოლოგიებს. საშინაო დავალება, რომელიც აძლიერებს სალექციო მასალას, რაც შეიძლება ახლოსაა საბრძოლო მისიებთან. არსებობს განცდა, რომ თქვენ ქმნით რაღაც მართლაც ღირებულს და არა მარტივს. საბოლოო პროექტი იძლევა შესანიშნავ შესაძლებლობას გამოიყენოს ახალი ცოდნა და მიიღოს ღირებული რეკომენდაციები მასწავლებლებისგან განვითარების სამომავლო გზაზე. მადლობას ვუხდი ყველა მასწავლებელს პროფესიონალიზმისა და საინტერესო ვებინარებისთვის!

ალექსანდრე
ივანოვი

მხოლოდ დადებითი შთაბეჭდილებები.
თავიდან ვფიქრობდი, რომ სწავლა მოუხერხებელი იქნებოდა დროის დიდი სხვაობის გამო (+7 მოსკოვის დროით), მაგრამ, როგორც აღმოჩნდა, უშედეგოდ იყო: კვირის დღეს უყურებ ვებინარის ჩანაწერს, შაბათ-კვირას. თქვენ მონაწილეობთ ონლაინ.
ბევრი მიიღო გამოსადეგი ინფორმაციადა "ხრიკები", რომლებიც უკვე გამოგადგებათ ნამუშევარში. შეუძლებელია არ აღინიშნოს მასწავლებლებთან და ინსპექტორებთან ურთიერთქმედება PD-ზე მუშაობის პროცესში. ეს განსაკუთრებით გამოგადგებათ, თუ აქამდე არ გქონიათ ასეთი გამოცდილება: რეალური სამუშაოს იმიტაცია, ასე ვთქვათ.

მადლობა მასწავლებლებს და მთელ Otus-ის გუნდს :)

რომანი
მუსიკა

ჩემი აზრით, კურსის ფორმატი ძალიან კარგად შეეფერება მათ, ვისაც სურს გააფართოვოს თავისი ჰორიზონტი და მიიღოს წარმოდგენა ჯავის განვითარებაში არსებული მდგომარეობის შესახებ. მაგალითად, ასეთი კურსი შეიძლება სასარგებლო იყოს, როგორც ინტენსიური კურსი ჯავის განვითარებაში სწრაფი ჩაძირვისთვის, ან უფრო გამოცდილი დეველოპერებისთვის, რომლებიც სწავლობენ Java-ს და რომელთაც სურთ მიიღონ ახალი ცოდნა. პირდაპირი კომუნიკაცია თქვენი შეკითხვის დასმისა და პასუხის მიღების შესაძლებლობით არის ის, რაც მნიშვნელოვნად განასხვავებს კურსის ფორმატს ტრადიციული MOOC-ებისგან. უამრავი პრაქტიკული სავარჯიშო უკუკავშირით აძლიერებს დაფარულ მასალას. მინდა აღვნიშნო სერგეი პეტრელევიჩის ძალიან კარგი მომზადება გაკვეთილებისთვის. სალექციო მასალა კარგად არის სტრუქტურირებული და კარგად წარმოდგენილი. ასევე იყო ვადიმის რამდენიმე წარმატებული ლექცია. ვიტალი კუცენკოს ლექციებისგან ალბათ მეტს ველოდი - ის, როგორც ჩანს, კომპეტენტური მასწავლებელია, მაგრამ კლასის მასალა არასაკმარისად განვითარებული ჩანდა.

მომეწონა ისიც, რომ დავალებების სირთულის არჩევა თავად შეგიძლიათ, თავისუფალი დროის ხელმისაწვდომობისა და თქვენი პრეფერენციების მიხედვით.

წინადადებები მასწავლებლებს. ჩვეულებრივ ლექციებს ვათვალიერებდი, ზოგჯერ 2-3-ჯერ. როგორც წესი, ამას ვაკეთებ გადახვევაზე 1.25, 1.5, 1.75. მე შემეძლო სერგეისგან მხოლოდ 1.75-ზე დავაყენო გადახვევის სიჩქარე - მეტყველება კომპეტენტურია, გაზომილი, არა წყვეტილი - ამისათვის განსაკუთრებული მადლობა მას.

ზოგადად, მოხარული ვარ, რომ გავიარე ეს კურსი და, როგორც სერგეიმ თქვა ბოლო გაკვეთილზე, ეს კურსი ეხება არა მხოლოდ პრობლემების გადაჭრის უნარს, არამედ თქვენი დროის ორგანიზების უნარს.

სერგეი
ტორჩიკოვი

ჩემთვის ჯავა ენაზე კურსის გავლის გადაწყვეტილების მიღება საკმაოდ მარტივი იყო, უბრალოდ უნდა შემეხედა მასწავლებელს და კურსის სტრუქტურას და ასევე დიდი პლიუსი იყო იმ კომპანიის ვებსაიტის ნახვა, რომლის ნახვაც მინდოდა. მუშაობა, როგორც პარტნიორი. ძალიან მნიშვნელოვანია, რომ კურსის დაწყებამდე ჩატარდეს ღია კარის დღე, სადაც შეგიძლიათ პირადად დასვათ შეკითხვები კურსის შესახებ და გაეცნოთ პროგრამას უფრო დეტალურად. მსურს კურსის ძირითადი კომპონენტები თანმიმდევრობით გავიარო.

პროგრამა.

თავიდან, რა თქმა უნდა, თავში ეჭვი გამიჩნდა, აზრი ჰქონდა თუ არა პროგრამირების შესახებ ლექციების მოსმენას, რომლებიც ეხებოდა საფუძვლებს (მაგალითად, მონაცემთა ტიპებს), მაგრამ, როგორც ამბობენ, გამეორება სწავლის დედაა. გადაწყვიტა მოსმენა და არ ინანა. მართლა ყველაფერი დეტალურად გავაანალიზეთ და საშინაო დავალებაც ძალიან საინტერესო იყო, ერთი დავალება სხვადასხვა ნაგვის შემგროვებლის მუშაობის გაზომვაზე რაღაც ღირს. კარგია, რომ პროგრამა მოიცავს Hibernate-ს და Spring-ს, თუმცა ისინი საფუძვლებია, მაგრამ ეს ნამდვილად საკმარისია იმის გასაგებად, თუ რომელი მიმართულებით უნდა იჭრებოდეს, თუ რამე მოხდება. გაკვეთილის თემის გაფართოების დამატებითი მასალისთვის საკმარისი იყო სქოლიოები.

მასწავლებელი.

არ ვიცი, ღირს თუ არა აქ მესამე მხარის სასწავლო რესურსების მითითება, მაგრამ ვთქვათ, ვიტალის ლექციებს დიდი ხანია ვიცნობ. ყოველთვის მომწონდა, რომ ვიტალი ბევრ მაგალითს მოჰყავს ცხოვრებიდან. პირადად ჩემთვის ეს არის პროგრამირების დიდი პრობლემა, შემიძლია ვისწავლო რაღაც, გავიგო როგორ მუშაობს, მაგრამ აბსოლუტურად წარმოდგენა არ მაქვს სად გამოვიყენო. ყველა ახსნა გასაგები და გასაგებია. გამუდმებით სვამს კითხვას, რის შესახებ სურთ სტუდენტებს მეტი გაიგონ. ყველა თემისთვის არის კოდის მაგალითები და ლექციების დროს რამდენჯერმე ჩავატარეთ ექსპერიმენტებიც კი, რაღაცის გატეხვა ვცდილობდით, საკმაოდ საინტერესო იყო.

გუნდი OTUS

აქ ბევრს არ ვიტყვი, რადგან ბევრი არ შეგვხვედრია. მაგრამ პირადი დაკვირვებით, პროგრამისტების ზოგადი ჩატის ყველა საკითხი საკმაოდ სწრაფად მოგვარდა. გუნდი ძალიან ლოიალურია სტუდენტების მიმართ და მიდის შეხვედრაზე. ასე რომ, თუ თქვენ გაქვთ რაიმე შეკითხვა ან ეჭვი, ყოველთვის შეგიძლიათ დაგვიკავშირდეთ.

ის მინუსები, რაც შემიძლია აღვნიშნო, რამდენადაც ვიცი, უკვე გამოსწორებულია. მაგალითად, პლატფორმა.. ყველა პროგრამისტი ამას გაგებით მოეკიდა, რადგან... ჩვენ ვიყავით პირველი ნაკრები, ასე ვთქვათ პიონერები

მეორე მინუსი საერთოდ არ არის მინუსი, არამედ უხერხულობა - ერთი მასწავლებელი. მომავალ ჯგუფებს გაუმართლათ, როგორც ვიცი, ორი მასწავლებელი ეყოლებათ. ეს ძირითადად ეხება საშინაო დავალების შემოწმებას, შესამოწმებლად დაეთმო 48 საათი და თუ არის შენიშვნები გამოსავალზე, არის შანსი დროულად არ წარადგინოს, რადგან. შესწორებულ ვერსიას ხელახლა აგზავნით განსახილველად. მიუხედავად იმისა, რომ ისინიც ამის ერთგულები იყვნენ და არავინ აგინებდა, აქ პრობლემა უფრო ჩემი პერფექციონიზმია, ყველაფერი დროულად უნდა მივაწოდო

შედეგი.

რამდენიმე დღის შემდეგ სამუშაოდ მივდივარ მოსკოვში ზუსტად იმ კომპანიაში, სადაც მინდოდა მუშაობა. ყველა ინტერვიუ ორგანიზებული იყო Otus-ის თანამშრომლების მიერ, ამიტომ, რა თქმა უნდა, კმაყოფილი ვარ შედეგით, სხვათა შორის, იგივე ცოდნა ნაგვის შემგროვებლების შესახებ, რაზეც ადრე ვისაუბრე, გამომადგა ინტერვიუების დროს. ამიტომ, კიდევ ერთხელ მინდა მადლობა გადავუხადო საიტის მთელ გუნდს პროფესიონალიზმისა და მუშაობისთვის, ასევე კურსის ყველა ბიჭს საინტერესო დისკუსიებისთვის და ცოდნის გაზიარებისთვის. გავაგრძელებ კურსებს და თუ რამე საინტერესო იქნება ჩემთვის აუცილებლად მოვალ!

ნიკოლაი
დობროვოლსკი

კურსზე ძირითადად იმიტომ დავრეგისტრირდი, რომ მასწავლებლად ვიტალი ჩიბრიკოვი გამოცხადდა. მასწავლებელს ვიცნობდი სხვა კურსებიდან, გარდა ამისა, მანამდე მოვისმინე ლექციების ჩანაწერები MSTU-ში. ბაუმანი TECHNOPARK პროექტის ფარგლებში (მოსკოვი). ამიტომ, მაშინვე გადავწყვიტე ჯგუფში ჩარიცხვა.

ძალიან მომეწონა კურსი. შთაბეჭდილება ძალიან დადებითია. გაშუქდა თემების საკმაოდ დიდი ჩამონათვალი. კურსამდე ზოგიერთი პუნქტი არც თუ ისე ნაცნობი იყო (მაგალითად, თემა გ.კ-ის შესახებ - მქონდა თეორიული ცოდნა, მაგრამ პრაქტიკული უნარების გარეშე).

მომეწონა მასალის პრეზენტაცია, განხილული თემები განიხილებოდა რეალური ცხოვრებიდან შეფერხების გარეშე, თან ახლავს კონკრეტული მაგალითები რეალური პროექტებიდან. Რამოდენიმე საინტერესო მაგალითებიმასწავლებლისგან.

კურსი დაეხმარა არა მხოლოდ არსებული ცოდნის სისტემატიზაციას, არამედ ახლის შეძენასაც. განსაკუთრებით მომეწონა თემები GC-ის, JVM-ის, Java-ში multithreading, Java-ში ინტერპროცესული კომუნიკაციის შესახებ.
კურსის დასრულების შემდეგ, გასაუბრებაზე მოსაწვევები გარანტირებულია, ასე რომ, ეს არის უზარმაზარი პლუსი)
ჩემი აზრით, კარგი იქნებოდა გაზაფხულის უფრო დეტალურად განხილვა, როგორც კურსის ნაწილად, მაგრამ კურსის მთავარი აქცენტი თავდაპირველად იყო Java Core, ასე რომ ეს თემა შეიძლება ღირდეს Java EE-ის კურსზე დარეგისტრირება.

ანტონ
მატვეევი

OTUS Java Developer-ის კურსი ძალიან სასარგებლო იყო ჩემთვის, რომელსაც არ მქონდა წინა გამოცდილება ჯავის კომერციულ განვითარებაში. სწორედ ის დაეხმარა თვითსწავლისა და სხვა კურსების შედეგად მიღებული ცოდნის გაერთიანებას. სხვა კურსებისგან განსხვავებით, აქცენტი გაკეთდა პროცესის გაგების განვითარებაზე: როგორ მუშაობს ესა თუ ის ტექნოლოგია და რა პრობლემებს წყვეტს იგი და არა მისი შესაძლებლობების ზოგად აღწერაზე. საშინაო დავალება ისეა შერჩეული, რომ გაიძულებთ იყოთ შემოქმედებითი და ხელახლა წაიკითხოთ ბევრი სასარგებლო ინფორმაცია. განსაკუთრებით საინტერესო იყო დავალებები: დაწერეთ json სერიალიზატორი, გამარტივებული ტესტის ჩარჩო, საკუთარი პატარა ფორმა, შეტყობინებების გაცვლის სერვერი მონაცემთა ბაზასა და ფრონტენტებს შორის. მიუხედავად იმისა, რომ საშინაო დავალება, ალბათ პირველის გარდა, არ ჯდებოდა საშინაო დავალების მითითებულ დროს კვირაში 4 საათი - იმისთვის, რომ კურსში ბოლო 2 დავალების შესასრულებლად დრო მქონოდა, შვებულება მომიწია.

რა თქმა უნდა, კურსის მთავარი ღირებულება მასწავლებლის დამსახურებაა. ძალიან მაღალი ხარისხის ახსნა: არ მახსოვს, რომ თემასთან დაკავშირებით დასმული რაიმე შეკითხვა უპასუხოდ დარჩენილიყო; ასევე ძალიან სასიამოვნო და სასარგებლო იყო ვიტალისგან არა მხოლოდ დისტანციური მართვის ხარვეზების შესახებ ინფორმაციის მიღება, არამედ წინადადებები მათი შესაძლო გაუმჯობესების შესახებ. დავალების ფარგლებს გარეთ.

და, რა თქმა უნდა, დიდ კომპანიებთან ინტერვიუს მიღების შესაძლებლობა ძალიან მნიშვნელოვანია. ყოველი ასეთი ინტერვიუ თავისთავად ძალიან საინტერესო გამოცდილებაა, შედეგის მიუხედავად. პირადად მე ვიპოვე სამსახური და ძალიან მიხარია, რომ ვარჯიშისთვის ფული არ დავზოგე!

ალექსეი
მაიანოვი

კურსის დაწყებამდე პერიოდულად ვაპროგრამებდი ჯავაში. ჩემთვის კურსი მრავალი თვალსაზრისით გახდა ამოსავალი წერტილი ჩემი არსებული ცოდნის სისტემატიზაციისა და გაფართოებისთვის. აბსოლუტური დარწმუნებით შემიძლია ვთქვა: ტრენინგის დასრულების შემდეგ ჯავის გამოყენების უნარები ახალ დონეზე გადავიდა და პირველ რიგში, კურსის ავტორებს მადლობელი ვარ.

ჩემი აზრით, კურსი საკმაოდ ინტენსიურია, რაც, პრინციპში, ტრენინგის დასაწყისში იყო ნათქვამი. ყოველთვის არ არის შესაძლებელი შესწავლილ თემაში დეტალურად ჩაძირვა, რამაც შეიძლება დატოვოს ხარვეზები ცოდნაში. აქედან გამომდინარე, მნიშვნელოვანია პერიოდულად დაუბრუნდეთ თქვენს მიერ შესწავლილ მასალებს, სადაც ყველა წარსული ლექციისა და სემინარის ჩანაწერი კარგ დახმარებას იძლევა.

ჩემი აზრით, საპროექტო თვე საკმაოდ დაქუცმაცებული აღმოჩნდა: საკმარისი მოპოვება ვერ მოხერხდა უკუკავშირიპროექტის მიხედვით. ვფიქრობ, მიზეზი არის ის, რომ ბევრ სტუდენტს დაუგროვდა დავალიანება და მთელი სასწავლო რესურსი მათ შემოწმებაზე დაიხარჯა. მიმაჩნია, რომ ბოლო თვეში მასწავლებლებმა პროექტებზე მუშაობას უპირატესობა უნდა მიანიჭონ, თორემ გამოდის, რომ მოსწავლეები, რომლებმაც დროულად ჩააბარეს ყველა დავალება და პროექტებზე გადავიდნენ, სხვა მოსწავლეების ვალების მძევლები გახდნენ.

ცალკე, მინდა აღვნიშნო, რომ ინტერვიუების მთელმა სერიამ, რომელსაც ვესწრებოდი, გარკვეული დადებითი გამოცდილება მომცა.

პოლ
სტრეკალოვი

ზოგადად, კურსის შთაბეჭდილება დადებითია, კურსი ჩემთვის ძალიან სასარგებლო იყო.

როგორც ნაკლი (ან თვისება) მინდა აღვნიშნო, რომ ჯგუფისგან იზოლირებულად ვგრძნობდი თავს. დავალებების შესრულებისას ჩანდა, რომ მასწავლებელთან ერთად იყავით ერთზე (დამშვიდებული ჩატი ამ მხრივ არც თუ ისე სასარგებლო იყო). მეჩვენება, რომ კოდექსის განხილვის გზით სტუდენტებს შორის კომუნიკაცია კარგი ეფექტი იქნებოდა. ჯერ მასწავლებელი ამოწმებს დავალებას, იღებს მას და შემდეგ მოსწავლემ ასევე უნდა დაათვალიეროს და გააკეთოს კომენტარი/შენიშვნა ორ-სამ შესრულებულ და მიღებულ დავალებაზე.
ვიტალიმ ასევე აღნიშნა, რომ კარგი იქნებოდა "საინტერესო ნამუშევრების გამოფენის" გაკეთება - მეც ვფიქრობ, რომ ღირს, მაგრამ რა ფორმატში არ არის გასაგები, რადგან... ვალები გროვდება მთელი კურსის განმავლობაში და ზოგიერთი დავალება სრულდება ბოლოს.

კარგი იქნებოდა თეორიული კითხვების ბლოკის დამატება თითოეულ თემაზე (მაგრამ ვიტალიმ ასევე უკვე ისაუბრა ამაზე). პროექტზე მუშაობა დაიწყეთ კურსის შუა პერიოდში (მესამე თვიდან), და არა ბოლოს.

მაიკლ
მტვერი

გამარჯობა. მე უკვე ბევრჯერ გადაგიხადეთ მადლობა კურსებისთვის, მაგრამ მინდა კიდევ გავიმეორო - ბევრი კურსი, რომელიც ახლა RuNet-ზეა, საკმაოდ ზედაპირულია და მხოლოდ საფუძვლებს იძლევა. თქვენი კურსები იძლევა პროგრამირების უფრო ღრმა ცოდნას. კურსი თავისთავად ძალიან საინტერესოა, მაგრამ მე არ მქონდა საკმარისი საშინაო დავალება - არა, თავად დავალებები საინტერესოა და საკმაოდ ბევრია, განსაკუთრებით ბოლო, მაგრამ, სამწუხაროდ, ისინი არ მოიცავს მთელ მასალას. ვიტალი არის მაღალკვალიფიციური სპეციალისტი და მასწავლებელი, ვფიქრობ, მისი წყალობით ბევრი დარეგისტრირდა კურსებზე. მართალი გითხრათ, ინტერვიუები, რომლებიც დაიგეგმა, მიუხედავად იმისა, რომ გამოცხადდა, მოულოდნელი იყო, რადგან ვერ ვიჯერებდი, რომ ეს შესაძლებელი იყო. ზოგიერთი გასაუბრება და სატესტო დავალება ჩაიშალა პირადი გარემოებების გამო. ახლა მე გავდივარ რამდენიმე საბოლოო ინტერვიუს - არის მცირე შანსი, რომ მოსკოვში ვიშოვო ჩემი პირველი სამუშაო პროგრამირების სფეროში. მსურს მეტი სიღრმისეული თემები Spring/Spring MVC/Spring Boot/Hibernate/Sockets/მონაცემთა გაცვლა ქსელში ან ინტერნეტში/დამატებითი ინფორმაცია ConcurrentCollection-ზე. ასე რომ, მე გირჩევთ თქვენს კურსებს. ძალიან მინდა ცალკე კურსი იმ თემებზე, რაც ზემოთ დავწერე + Java ee (იმ ნაწილში, რომელიც ახლა ყველაზე მოთხოვნადია დამსაქმებლების მიერ).

ჯავა. სწრაფი დაწყება
Java ენის საფუძვლები მცირე თამაშის შემუშავების მაგალითის გამოყენებით

ვიდეოკურსი გაგაცნობთ ერთ-ერთ ყველაზე პოპულარულ, ლამაზ, ფართოდ გამოყენებულ, სანდო პროგრამირების ენას - Java-ს. პირველ ნაწილში თქვენ შეისწავლით ენის საფუძვლებს და ისწავლით მარტივი კონსოლის აპლიკაციების დაწერას. შემდეგი, ჩვენ გეტყვით, თუ როგორ შეგიძლიათ შექმნათ მარტივი თამაში გრაფიკული ინტერფეისით რამდენიმე წუთში და მესამე მხარის ბიბლიოთეკების გამოყენების გარეშე. კურსის მიზანი: გამოავლინოს ენის ზოგიერთი შესაძლებლობები და დავანახოთ, რომ ჯავა მარტივი და სახალისოა. კურსის წარმატებით გავლის შემდეგ თქვენ შეძლებთ ჩვენს მიერ შექმნილი მოდელის გამოყენებას საკუთარი თამაშების შესაქმნელად. მასალის ეფექტურად ათვისებისთვის საჭიროა პროგრამირების მინიმალური გამოცდილება, ამიტომ სრული დამწყები დეველოპერებისთვის გირჩევთ, პირველ რიგში გაიაროთ უფასო ონლაინ კურსი „პროგრამირების საფუძვლები“.

გაკვეთილი 1: Java ენის გაცნობა

ენის მოკლე აღწერა; განვითარების საჭირო ინსტრუმენტების დაყენება; პირველი პროგრამის დაწერა.

გაკვეთილი 2. ცვლადები, მონაცემთა ტიპები, განშტოება

Java ენის ფუნდამენტური ცნებების აღწერა მარტივი კონსოლის კალკულატორის მაგალითის გამოყენებით.

გაკვეთილი 3. ციკლები; თამაში "გამოიცანი ნომერი"

ვიწყებთ კონსოლის თამაშის „გამოიცანი რიცხვის“ დაწერას, რომლის გამოყენებითაც გავაგრძელებთ ენის საფუძვლების შესწავლას.

გაკვეთილი 4. მეთოდები

მეთოდების დემონსტრირება თამაშის „გამოიცანი რიცხვის“ გაუმჯობესების მაგალითის გამოყენებით.

გაკვეთილი 5. თამაშის "გამოიცანი რიცხვი" განვითარების დასრულება

თამაშის კოდს მივყავართ საბოლოო ვერსიამდე.

გაკვეთილი 6. თამაშის „დაიჭირე წვეთი“ შემუშავება. Ნაწილი 1

შექმენით თამაშის ფანჯარა.

გაკვეთილი 7. თამაშის „დაიჭირე წვეთი“ შემუშავება. Მე -2 ნაწილი

ისწავლეთ სურათების ჩატვირთვა და დახატვა; მოდით განვახორციელოთ თამაშის ციკლი.

გაკვეთილი 8. თამაშის „დაიჭირე წვეთი“ შემუშავება. ნაწილი 3

ჩვენ ვიჭერთ მაუსის მოვლენებს და ვასრულებთ თამაშის განვითარებას.

გაკვეთილი 9. რეზიუმე

ჩვენ ვაგროვებთ პროექტს ერთ jar ფაილში, რათა მოსახერხებელი იყოს მისი გაშვება განვითარების გარემოს გარეშე; მოდით შევაჯამოთ.

პროგრამისტები არ იბადებიან, ისინი ქმნიან. და ეს ნიშნავს, რომ თქვენ მინიმუმ უნდა სცადოთ. ამ მიზნით შევქმენით ინტერაქტიული კურსი „პროგრამირების საფუძვლები“. თქვენ შეისწავლით ყველა ყველაზე სასარგებლო და რელევანტურ საკითხს თანამედროვე პროგრამირების ენების შესახებ და მიიღებთ პირველ გამოცდილებას კოდის წერაში. ჩვენ ვიფიქრეთ, როგორ შეგვექმნა ასეთი ონლაინ კურსი, რათა ის გახდეს ნათელი და დასამახსოვრებელი მოვლენა ყველა დამწყები პროგრამისტის ცხოვრებაში. ყოველივე ამის შემდეგ, ამ სფეროს შემდგომი ინტერესი დიდწილად დამოკიდებულია კოდის პირველ გაცნობაზე. ჩვენ გეტყვით და ვაჩვენებთ, თუ როგორ მუშაობს ყველაფერი, რა პროფესიებია მოთხოვნადი და განვითარების რა პერსპექტივები არსებობს IT სექტორის თითოეულ სფეროში. კურსის განმავლობაში ჩვენ შევქმნით ვებგვერდს ბრაუზერის თამაშებით და გამოვაქვეყნებთ პროექტს github.com-ზე. ეს საიტი გახდება პირველი შემთხვევა თქვენს მომავალ პორტფოლიოში, რაც ძალიან მნიშვნელოვანია, რადგან პორტფოლიო არის პირველი, რასაც ხალხი ყურადღებას აქცევს სამუშაოზე განაცხადის დროს. ამ კურსის გავლით თქვენ გადადგამთ პირველ ნაბიჯს სერიოზული სწავლისკენ და შეძლებთ მკაფიოდ განსაზღვროთ თქვენი ინტერესების მიმართულება!

გაკვეთილი 1. ალგორითმის, ცვლადების, მონაცემთა ტიპების ცნება.

შესავალი: რას გავაკეთებთ კურსზე?
გავხდები წარმატებული პროგრამისტი?
ალგორითმის კონცეფცია. სამუშაო გარემოს დაყენება. Გამარჯობა მსოფლიო.
ცვლადების შესავალი.
კომპიუტერული არქიტექტურა
მონაცემთა ტიპები: სტრიქონები და რიცხვები. ოპერაციები რიცხვებითა და სტრიქონებით.

გაკვეთილი 2. განშტოება. ციკლები.

ფილიალები: თუ/სხვა
მარყუჟები: ხოლო, ამისთვის
ლოგიკური ოპერაციები. გააკეთე while მარყუჟი.
თამაშის განვითარება "გამოცნობა"

გაკვეთილი 3. მასივები და ფუნქციები

მასივის გაცნობა. მეხსიერების განვითარების პროგრამა.
მასივის სიგრძის შეცვლა. მრავალგანზომილებიანი მასივები. ინგლისური ენის შესწავლის პროგრამა.
ფუნქციების გაცნობა. ფუნქციონირებს დაბრუნების პარამეტრის გარეშე.
ფუნქციები დაბრუნების პარამეტრებით.
რეკურსიული ფუნქციები. შეხებით აკრეფის სწავლების პროგრამის შემუშავება.

გაკვეთილი 4. ვებსაიტის განლაგება: HTML და CSS შესავალი

HTML-ის შესავალი
CSS-ის შესავალი
ვებსაიტზე ვდებთ თავსატეხების თამაშს
გამოცნობის თამაშს ვათავსებთ ვებგვერდზე
ვებსაიტის გამოქვეყნება ჰოსტინგისთვის

გაკვეთილი 5. თანამედროვე პროგრამირების ენების მიმოხილვა

როგორ ავირჩიოთ პროგრამირების ენა და მიმართულება?
პროგრამირების ენის არჩევა: ვებ განვითარება
მობილურის განვითარება. უნივერსალური პროგრამირების ენები
როგორ ვისწავლოთ პროგრამისტი?

კურსი დამწყები დეველოპერებისთვის, მათთვის, ვისაც სურს სწრაფად აითვისოს ობიექტზე ორიენტირებული პროგრამირების (OOP) საფუძვლები და ისწავლოს საკუთარი პროექტების შექმნა. კურსის მთავარი მახასიათებელია ჯავის ენის თეორიული საფუძვლების შესწავლისა და პრაქტიკული ონლაინ ტრენინგის ერთობლიობა მენტორის ხელმძღვანელობით.

გაკვეთილი 1: შესავალი ჯავაში

  1. როგორ მუშაობს ჯავა. JVM. Ზოგადი პრინციპები. ხელსაწყოები.
  2. Გამარჯობა მსოფლიო!
  3. ცვლადები და მონაცემთა ტიპები.
  4. მეთოდები და მათი გამოყენება.
  5. პირობითი განცხადებები.

გაკვეთილი 2. მარყუჟები და მასივები

  1. ციკლების კონცეფცია. ხოლო მარყუჟი;
  2. მარყუჟები for, foreach;
  3. მასივის კონცეფცია;
  4. საშინაო დავალების გადაწყვეტილებების ანალიზი.

გაკვეთილი 3. სახელოსნო. პროცედურული Tic Tac Toe

  1. ალგორითმის შემუშავება;
  2. ლოგიკის შექმნა;
  3. კომპიუტერული მოწინააღმდეგის ლოგიკის შექმნა;
  4. საშინაო დავალების ანალიზი.

გაკვეთილი 4. შესავალი OOP

  1. რა არის OOP და რატომ არის საჭირო? Ძირითადი ცნებები;
  2. კლასების და ობიექტების შექმნა;
  3. კაფსულაცია;
  4. მემკვიდრეობა;
  5. აბსტრაქტული კლასები, ინტერფეისები და პოლიმორფიზმი;
  6. საშინაო დავალების ანალიზი.

გაკვეთილი 5. მეხსიერება, მონაცემთა შენახვა

  1. მონაცემთა შენახვა Java-ში: stack, heap;
  2. ნაგვის შეგროვება;
  3. სიმებიანი კლასები, სიმებიანი აუზები;
  4. საშინაო დავალების ანალიზი.

გაკვეთილი 6. გრაფიკული ინტერფეისები

  1. Swing ბიბლიოთეკა და სხვა გრაფიკული ბიბლიოთეკები. სვინგის საფუძვლები;
  2. განთავსების მენეჯერები და ელემენტების გასწორება;
  3. მოვლენები სვინგში. მენიუები და დიალოგური ფანჯრები;
  4. საშინაო დავალების ანალიზი.

გაკვეთილი 7. სახელოსნო. "Tic-tac-toe" OOP-ში

  1. კლასების და ინტერფეისის განსაზღვრა;
  2. ლოგიკის განვითარება, ნაწილი 1;
  3. ლოგიკის განვითარება, ნაწილი 2;
  4. საშინაო დავალების ანალიზი.

Git-ის შესავალი
Git საფუძვლები

13 ვიდეოს განმავლობაში ჩვენ გავეცნობით Git ვერსიის კონტროლის სისტემის საფუძვლებს. მოდით გავარკვიოთ, რატომ არის ეს მნიშვნელოვანი თანამედროვე განვითარებისა და ერთობლივი პროგრამირებისას. მოდით გავეცნოთ Git-ის ძირითად ცნებებს: საცავებს, commits, ფილიალებს და ტეგებს. მოდით ვისწავლოთ ძირითადი ოპერაციები: საცავის შექმნა და კლონირება, ფილიალების გაერთიანება, ცვლილებების ისტორიის მოთხოვნა და მრავალი სხვა. ვნახოთ, თუ როგორ უნდა წარადგინოთ საშინაო დავალება Git-ის გამოყენებით. ეს კურსი არის საბაზისო და მას შემდეგ შეგიძლიათ დაიწყოთ ნებისმიერი პროგრამირების ენის სწავლა. გარდა ამისა, მომზადებული იქნებით გასაუბრებისთვის, სადაც რამდენიმე კითხვა, როგორც წესი, ფოკუსირებულია ვერსიის კონტროლის სისტემაზე.

გაკვეთილი 1. ვერსიის კონტროლის სისტემების შესავალი

რა არის ვერსიის კონტროლის სისტემა?
ვერსიის კონტროლის სისტემების ტიპები
Git და მისი სარგებელი
დოკუმენტაცია

გაკვეთილი 2. ბრძანების ხაზთან მუშაობა

რა არის ბრძანების ხაზი?
რატომ არის მნიშვნელოვანი ბრძანების ხაზი?
როგორ გავხსნათ ბრძანების ხაზი?
სასარგებლო ბრძანებები

გაკვეთილი 3. ადგილობრივად მუშაობა Git საცავთან

კონსოლის კლიენტის შესავალი
Git-ის დაყენება
საცავის ინიცირება
საცავის კლონირება
გრაფიკული git კლიენტები

გაკვეთილი 4. ძირითადი ოპერაციები

ინდექსირება
ცვლილებების გამოქვეყნება
ავალდებულებს
ინდექსირების გაუქმება
Მიმდინარე სტატუსი

გაკვეთილი 5. git პროექტის ისტორია

ცვლილებების ისტორია
უკან დაბრუნება პროექტის ისტორიის მიხედვით
შეცვალეთ კრედიტები: git blame
.gitignore ფაილების იგნორირება
საიტი gitignore.io
საქაღალდეების შენახვა.keep

გაკვეთილი 6. ფილიალები

ფილიალის მენეჯმენტი
ფილიალების შექმნა და წაშლა
ტოტებს შორის გადართვა
კონფლიქტის მეთოდები და მათი მოგვარება
git შერწყმა

გაკვეთილი 7: დისტანციური Git საცავის შექმნა

Git ჰოსტინგი (GitHub, GitLab, Bitbacket)
შექმენით თქვენი საკუთარი bare-git საცავი
დარეგისტრირდით GitHub-ზე
ცვლილებების გამოქვეყნება დისტანციურ საცავში

გაკვეთილი 8. წაშლილი ტოტები

საცავის სახელები
მრავალი საცავი ერთ პროექტში
.git/config
ფილიალების მართვა დისტანციურ საცავზე

გაკვეთილი 9. ვერსია

ვერსიების მეთოდები
ტეგები და მათი ურთიერთობა ვალდებულებებთან
ტეგის დამატება
ტეგის წაშლა
ტეგის მართვა დისტანციურ საცავზე

გაკვეთილი 10. შერწყმა და გადარიცხვები

ჩვენ ვაერთებთ ცვლილებებს. git შერწყმა
ტოტებს გადავიტანთ. git rebase
გადაადგილება ავალდებულებს. გიტ ალუბლის არჩევანი
ჩვენ ვაერთებთ ვალდებულებას ერთში. გიტ გოგრა
კაკვები
მეტსახელები

გაკვეთილი 11. Gitflow

როგორ გამოიყენება და რატომ?
ტესტის ციკლები
შესაძლოა ლურჯი/მწვანე
გაუშვით ტოტები
ცხელი შესწორებები

გაკვეთილი 12. SSH

SSH პროტოკოლი
რატომ გამოიყენება?
გასაღებების შექმნა
გადამისამართება
SSH აგენტი
ფაილების კოპირება SSH-ის საშუალებით
Windows: Git Windows-ისთვის
SSH-ის გამოყენება Git-თან ერთად

გაკვეთილი 13. საშინაო დავალების წარდგენა Git-ის საშუალებით

მონაცემთა ბაზის საფუძვლები. 20 გაკვეთილი.
მონაცემთა ბაზის დიზაინი და SQL მოთხოვნები

მონაცემთა ბაზები (DB) არის მონაცემთა შენახვისა და დამუშავების სისტემები, რომლებზეც წვდომა ხდება SQL (Structured Query Language) ენის გამოყენებით. ნებისმიერი თანამედროვე საიტი, თამაში ან დესკტოპის აპლიკაციასაჭიროებს მონაცემთა შენახვას. ამ დროისთვის, არსებობს მრავალი განსხვავებული მონაცემთა ბაზის მართვის სისტემა (DBMS), რომელთაგან ყველაზე პოპულარულია MySQL. „მონაცემთა ბაზის საფუძვლები“ ​​არის 20 ინტენსიური ვიდეო გაკვეთილი (თითოეული 10 წუთი), სადაც ჩვენ გავივლით მონაცემთა ბაზის დიზაინის ყველა ეტაპს ონლაინ მაღაზიის მაგალითზე SQL შეკითხვის ენის გამოყენებით. ამ კურსის შემდეგ, თქვენ შეძლებთ გამოიყენოთ სხვადასხვა მონაცემთა ბაზები, როგორიცაა MS SQL და Postgre Sql, რადგან მათთვის SQL სინტაქსი პრაქტიკულად იგივეა.

გაკვეთილი 1: ურთიერთობითი მონაცემთა ბაზები

რა განსხვავებაა მონაცემთა ბაზასა და DBMS-ს შორის; რა მონაცემთა ბაზებს ეწოდება რელატიური; თანამედროვე DBMS-ის მიმოხილვა.

გაკვეთილი 2. DBMS-ის ინსტალაცია

MySql DBMS და Mysql Workbench გრაფიკული აპლიკაციის ინსტალაცია.

გაკვეთილი 3. მონაცემთა ბაზის დიზაინი, ნორმალური ფორმები

მონაცემთა დიზაინი Excel-ში; ნორმალური ფორმები; მთავარი გასაღები.

გაკვეთილი 4. SQL CREATE ბრძანება

ცხრილების შექმნა MySql Workbench GUI-ში; CREATE ბრძანება; მონაცემთა ტიპები; მუშაობა კონსოლში.

გაკვეთილი 5. SQL INSERT ბრძანება

ცხრილების შევსება მონაცემებით გამოყენებით GUI; INSERT ბრძანება; ავტომატური ზრდა.

გაკვეთილი 7. SQL ბრძანებები DISTINCT, ORDER BY, LIMIT

მონაცემების მიღება და გაფილტვრა SQL ბრძანებების DISTINCT და LIMIT გამოყენებით; დახარისხება ORDER BY ბრძანების გამოყენებით.

გაკვეთილი 9: მონაცემთა თანმიმდევრულობა

მონაცემთა თანმიმდევრულობის ან თანმიმდევრულობის ცნება.

გაკვეთილი 10. უცხოური გასაღები

უცხო გასაღების კონცეფცია და სვეტის მნიშვნელობებზე შეზღუდვები; საგარეო ძირითადი შეზღუდვები.

გაკვეთილი 11. ცხრილების შექმნა მრავალი-მრავალთან ურთიერთობით

ონლაინ მაღაზიის მონაცემთა ბაზაში კალათის დამატება.

გაკვეთილი 12. კომპოზიტური პირველადი გასაღები

კომპოზიციური პირველადი გასაღების გამოყენება ცხრილის დიზაინის შექმნისას მრავალი-მრავალთან ურთიერთობით.

გაკვეთილი 13. მონაცემთა შეერთება მრავალი ცხრილიდან

მონაცემთა მოძიება რამდენიმე ურთიერთდაკავშირებული ცხრილიდან; მიდგომის შეუსაბამობა რამდენიმე SELECT-ის გამოყენებით.

გაკვეთილი 14. INNER JOIN ოპერატორი

მონაცემთა შეერთება მრავალი ცხრილიდან INNER JOIN ოპერატორის გამოყენებით.

გაკვეთილი 15. ოპერატორები LEFT JOIN, RIGHT JOIN

მონაცემთა შეერთება მრავალი ცხრილიდან LEFT JOIN და RIGHT JOIN ოპერატორების გამოყენებით.

გაკვეთილი 16. UNION ოპერატორი

მრავალი SQL მოთხოვნის შედეგების გაერთიანება UNION ოპერატორის გამოყენებით.

გაკვეთილი 17. აგრეგაციის ფუნქციები

ფუნქციების აგრეგაცია COUNT, SUM, MIN, MAX.

გაკვეთილი 18. GROUP BY ოპერატორი

დააჯგუფეთ მწკრივების არჩეული ნაკრები GROUP BY პუნქტის გამოყენებით.

გაკვეთილი 19. ინდექსები

გაფილტვრა GROUP-ში HAVING-ის გამოყენებით; ინდექსების გამოყენებით მოთხოვნის შესრულების სიჩქარის გაზრდა.

გაკვეთილი 20. გარიგებები

ტრანზაქციის კონცეფცია; ტრანზაქციის განცხადება; ACID მოთხოვნები ტრანზაქციის სისტემისთვის.

ეს კურსი განკუთვნილია მათთვის, ვისაც სურს გაიმყაროს ცოდნა ჯავაში. კურსის განმავლობაში სტუდენტები ეუფლებიან თეორიას და ამავდროულად, მასწავლებლის ხელმძღვანელობით, ნულიდან ავითარებენ ჯავაში სრულფასოვან პროექტს, რითაც იძენენ პრაქტიკულ გამოცდილებას ენისთვის დამახასიათებელი რთული ობიექტზე ორიენტირებული ცნებების გამოყენებისას. კურსის გავლამდე რეკომენდებულია დამწყებთათვის კურსის დაუფლება: „ჯავა. დონე 1“.

გაკვეთილი 1: ობიექტზე ორიენტირებული ჯავის პროგრამირება

ჯავაში OOP საკითხების სიღრმისეული შესწავლა: OOP-ის ძირითადი პრინციპები, აბსტრაქტული კლასები, ინტერფეისები.

გაკვეთილი 2. გამონაკლისები

გამონაკლისების დამუშავების კონცეფცია, მისი შედარება შეცდომის დამუშავების ტრადიციულ მექანიზმთან, try-catch-finally ბლოკი, გამონაკლისების ტიპები, სტანდარტული გამონაკლისები Java-ში და მათი როლი, გამონაკლისის ამოღება მეთოდიდან

გაკვეთილი 3. კოლექციები

კონტეინერების ტიპები ჯავაში: სია, რუკა, ნაკრები. ძირითადი განხორციელებები და გამოყენების ტექნიკა, კოლექციური ელემენტების გავლა, კოლექციის ელემენტების შედარება და დახარისხება

გაკვეთილი 4: გაფართოებული GUI შექმნა

შექმენით თქვენი საკუთარი კონტროლი. გრაფიკასთან მუშაობა. ღონისძიების მართვა

გაკვეთილი 5. მრავალძაფი

ძაფები ჯავაში, ძაფების მდგომარეობის შექმნისა და მართვის გზები, ძაფებთან მუშაობისას და სინქრონიზაციის ძირითადი პრობლემები.

გაკვეთილი 6. ქსელთან მუშაობა

სოკეტები მარტივი ექო სერვერის და კონსოლის კლიენტის დაწერა.

გაკვეთილი 7. ქსელური ჩატის წერა. ნაწილი I

ჩატის კლიენტისა და სერვერის ნაწილების ჩაწერა. კლიენტის კავშირების მრავალძალიანი დამუშავება.

გაკვეთილი 8. ქსელური ჩატის წერა. ნაწილი II

ინტერფეისის განვითარება კლიენტის მხარისთვის. ავტორიზაცია. კლიენტსა და სერვერს შორის ურთიერთქმედების მექანიზმები.

ჯავა. დონე 3. 2 თვე.
Პროფესიული განვითარება პროგრამული უზრუნველყოფა

კურსი განკუთვნილია მათთვის, ვისაც სურს გაეცნოს Java ენის მოწინავე ფუნქციებს და მიიღოს პრაქტიკული გამოცდილება აპლიკაციების წერაში. კურსის წარმატებით დასასრულებლად, სტუდენტებმა უნდა გააცნობიერონ პროგრამირების ძირითადი ცნებები და ჰქონდეთ გარკვეული ძირითადი გამოცდილება Java-სთან. კურსი მოიცავს ყველა ძირითად თემას, რომელიც აუცილებელია პროფესიული მუშაობისთვის.

გაკვეთილი 1. განზოგადებები

რა არის გენერიკა, ზოგადი კლასები, მეთოდები და ინტერფეისები, ზოგადი კლასების მემკვიდრეობა, შეზღუდვები ჯენერიკებთან მუშაობისას

გაკვეთილი 2. მონაცემთა ბაზები

რელატიური მონაცემთა ბაზები, SQL შეკითხვის ენა. ოპერატორები SELECT, INSERT, UPDATE, DELETE. მონაცემთა ბაზასთან დაკავშირება JDBC-ის საშუალებით, მოთხოვნის გაგზავნა და შედეგების დამუშავება

გაკვეთილი 3. შეყვანის/გამოსვლის ინსტრუმენტები

შეყვან-გამომავალი ინსტრუმენტების მიმოხილვა. ბაიტი, პერსონაჟი, ბუფერული ნაკადები. ქსელური კომუნიკაცია, ობიექტების სერიალიზაცია/დესერიალიზაცია

გაკვეთილი 4. მრავალძაფი. ნაწილი I

Java-ში მრავალძალიანობა, საერთო მეხსიერება, ძაფების მართვისა და სინქრონიზაციის საკითხები, შესრულების ძაფების ურთიერთქმედება, ჩიხები

გაკვეთილი 5. მრავალძაფი. ნაწილი II

კლასები მრავალთრეადებთან მუშაობისთვის, კონკურენტული კოლექციები, პრაქტიკული მაგალითების ანალიზი

გაკვეთილი 6. განვითარების ინსტრუმენტების მიმოხილვა

ხე-ტყე. ტესტირება JUnit-ის გამოყენებით, ტესტების წერა, Assert კლასი

გაკვეთილი 7. Reflection API და Annotations

ასახვის კონცეფცია, კლასის მონაცემთა ტიპი, კლასის მეტამონაცემები, ველებსა და მეთოდებზე წვდომა, ანოტაციები და მათი გამოყენება, საკუთარი ანოტაციების დაწერა.

კურსი ფოკუსირებულია მონაცემთა სტრუქტურებისა და ალგორითმების გამოყენებაზე Java პროგრამირებაში. მონაცემთა სტრუქტურები განსაზღვრავენ, თუ როგორ ინახება მონაცემები კომპიუტერის მეხსიერებაში. კურსი მოიცავს მონაცემთა შემდეგ სტრუქტურებს: მასივებს, სტეკს, რიგს, სიებს, გრაფიკებს, ხეებს, ჰეშის ცხრილებს. თითოეული მონაცემთა სტრუქტურისთვის განიხილება ალგორითმები, რომლებიც უზრუნველყოფენ სხვადასხვა ოპერაციებს ამ სტრუქტურებზე, მაგალითად, ძებნას ან დახარისხებას. კურსი განკუთვნილია სტუდენტებისთვის, რომლებმაც გაიარეს ძირითადი კურსი Java SE-ზე.

გაკვეთილი 1: შესავალი ალგორითმებსა და მონაცემთა სტრუქტურებში

ალგორითმებისა და მონაცემთა სტრუქტურების შესავალი.

გაკვეთილი 2. მასივები და დახარისხება

მასივებთან მუშაობა და მათი დალაგების გზები.

გაკვეთილი 3. დაწყობა და რიგი

მონაცემთა სტრუქტურის, სტეკის, რიგისა და პრიორიტეტული რიგის მიმოხილვა.

გაკვეთილი 4. დაკავშირებული სიები

სიების შექმნისა და გამოყენების სწავლა.

გაკვეთილი 6. ხეები

მოდით შევხედოთ ორობით ხეებთან მუშაობას.

გაკვეთილი 7. გრაფიკები

განვიხილოთ მუშაობა ერთ-ერთ ყველაზე მოქნილ და მრავალმხრივ სტრუქტურასთან.

გაკვეთილი 8. ჰეშის ცხრილები

სწრაფი ძებნა და ჩასმა ჰეშ ცხრილების გამოყენებით.

სტაჟირება GeekBrains-ში. 2 თვე.
ვებინარის ფორმატში

სტაჟირების პერიოდში სტუდენტებს მოუწევთ დისტანციურად მუშაობა ღია კოდის პროექტზე ან სტარტაპზე. სტუდენტებს მოეთხოვებათ აირჩიონ განვითარებისთვის ხელმისაწვდომი პროექტებიდან. სტუდენტები ისწავლიან გუნდში მუშაობას, კომუნიკაციას სხვა დეველოპერებთან, პროდუქტისა და პროექტის მენეჯერებთან, დიზაინერებთან, ისწავლიან მოქნილ მეთოდოლოგიებს, SCRUM ჩარჩოს და დაეუფლებიან დისტანციური მუშაობის პრინციპებს. სტაჟირების შედეგია გუნდში მუშაობის უნარი, პორტფელის დამატება და შესაძლებლობა, თქვენს რეზიუმეში მიუთითოთ პროექტზე მუშაობა, როგორც ძირითადი სამუშაო გამოცდილება. სტაჟირება ხდება ნახევარ განაკვეთზე დისტანციური მუშაობის ფორმატში, ყოველკვირეული სტატუსის შეხვედრები მასწავლებელთან ვებინრის ფორმატში.

გაკვეთილი 1. შესავალი, პროექტის შერჩევა

რა როლები არსებობს განვითარებაში? პროდუქტის მენეჯერი, პროექტის მენეჯერი, დეველოპერი, დიზაინერი. რა არის MVP. თანამედროვე სერვისის არქიტექტურა. როგორ ურთიერთობენ დეველოპერები ერთმანეთთან. REST API, ვებ სოკეტი. Backend, Frontend, მობილური აპლიკაციები. მიკროსერვისის არქიტექტურა. დისტანციური მუშაობის საფუძვლები. დარეგისტრირდით გუნდებში.

გაკვეთილი 2. განვითარების მეთოდოლოგიები

მეთოდოლოგიების მიმოხილვა. კასკადი (ჩანჩქერი), Agile მანიფესტი, Kanban, Scrum. სად და რისთვის გამოიყენება. შერეული მეთოდოლოგიები.

გაკვეთილი 3. SCRUM მეთოდოლოგია

იმუშავეთ SCRUM-ის გამოყენებით. სპრინტის დაგეგმვა. ჩამორჩენილი მოვლა. სპრინტის მიზანი. მატება. მოქნილი მეთოდოლოგია დისტანციურ სამუშაო პირობებში. დავალების ტრეკერები (Trello, Favro)/

გაკვეთილი 4. მომხმარებლის ისტორიის რუკების შედგენა

დავალებების სახეები. ამოცანების დაშლა. მომხმარებლის ისტორიების რუკების შედგენა. მომხმარებლის ისტორიებზე მუშაობა. ტექნიკურ მახასიათებლებთან მუშაობა ჩანჩქერის და მოქნილი მეთოდოლოგიების გამოყენებით.

გაკვეთილი 5. პასუხისმგებლობა, მოტივაცია, პიროვნული ზრდა

რა და როგორ მოახდინოთ საკუთარი თავის მოტივაცია. როგორია მოტივაციის დონეები? როგორ არ დაიწვა სამსახურში. და როგორ არ დაივიწყოთ სამუშაო.

გაკვეთილი 6. რეზიუმეს წერა

როგორ დავწეროთ რეზიუმე ისე, რომ HR არ უარყოს იგი. როგორ დავაინტერესოთ დამსაქმებელი. როგორ გამოავლინოთ სწავლაში შეძენილი უნარები, თუ ჯერ არ გაქვთ შესაბამისი სამუშაო გამოცდილება.

გაკვეთილი 7. წინასწარი შეჯამება, მომზადება პროექტის თავდაცვისთვის

სტუდენტური რეზიუმეების ანალიზი. წინასწარი შეჯამება. ცოტა რამ სტარტაპების, მონეტიზაციის, ინვესტორების შესახებ.

გაკვეთილი 8. შეჯამება, საბოლოო პროექტის დემონსტრირება

სამუშაო პროტოტიპის ჩვენება სტუდენტების მიერ. მიღებული შედეგების განხილვა. გამოხმაურება მასწავლებლისგან. გამყოფი სიტყვები.

როგორ გავხდეთ პროგრამისტი. 13 გაკვეთილი.
ნაბიჯ-ნაბიჯ ინსტრუქციები სამუშაოს მოსაძებნად

პროგრამირების კარიერა არის საინტერესო მოგზაურობა მსოფლიოში თანამედროვე ტექნოლოგიები. თითოეულ დეველოპერს აქვს საკუთარი ისტორია და გამოცდილება. თუმცა, არსებობს ძირითადი ალგორითმი, რომელიც დაგეხმარებათ პირველი ნაბიჯების სწორად გადადგმაში და მიზნამდე მიყვანაში. ჩვენ მოვამზადეთ 13 ვიდეო გაკვეთილი, რომლებშიც ვუპასუხეთ ყველაზე აქტუალურ კითხვებს პროგრამირების კარიერის შესახებ კომპანიებში და თავისუფალ ბაზარზე. ხშირად ფიქრობთ სამსახურის შოვნაზე და ფიქრობთ, რომ მზად ხართ დაიწყოთ ფულის შოვნა? მაშინ ეს ვიდეო კურსი თქვენთვისაა.

გაკვეთილი 1. პროფესია „პროგრამისტი“

პროფესიის მახასიათებლები; ხშირად დასმული კითხვები; მოთხოვნა შრომის ბაზარზე.

გაკვეთილი 2. კარიერული ხელმძღვანელობა

გავხდები წარმატებული პროგრამისტი? წარმატების ფაქტორები.

გაკვეთილი 3. დავიწყოთ რეზიუმეს წერა

მთავარია პირველი შთაბეჭდილება; რა დავარქვა თანამდებობას.

გაკვეთილი 4. პროგრამირების ენის შერჩევა: ვებ განვითარება

ვებგვერდის განვითარების ენების მიმოხილვა: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; სწორი არჩევანი.

გაკვეთილი 5. მობილურის განვითარება. უნივერსალური პროგრამირების ენები

ენების მიმოხილვა: Java, Objective-C, Swift; C#, C++, Python: სწორი არჩევანი.

გაკვეთილი 6. ეფექტური რეზიუმეს წესები

ტექნოლოგიების ჩამონათვალი; პორტფოლიო; დიპლომები და სერთიფიკატები; პიროვნული თვისებები. ტექნიკური სპეციალისტის და HR ხედი.

გაკვეთილი 7. სამუშაოს ძებნა: რა, სად, როდის

საოცნებო სამუშაო, ფსიქოლოგიური ასპექტები; მოთხოვნის ტექნიკა.

გაკვეთილი 8. გასაუბრება და გამოსაცდელი ვადა

ინტერვიუები პროგრამისტებისთვის: როგორ მოიქცეთ, რა თქვათ, რა მოუსმინოთ; გამოსაცდელი ვადა და მისი გავლის წესი.

გაკვეთილი 9. თავისუფალი პროფესია: პირველი ნაბიჯები

ფრილანსირების პლატფორმების მიმოხილვა; რეგისტრაციის მახასიათებლები; ანგარიშის რეგისტრაცია; როგორ გამოირჩეოდეს შემსრულებელთა უმრავლესობაში.

გაკვეთილი 10. თავისუფალი პროფესია: დაწყება და შეკვეთების მოძიება

შეკვეთის ძიების სტრატეგია; შეკვეთების პრიორიტეტი: რა უნდა აიღოთ; მოლაპარაკება; ტექნიკური მახასიათებლების ამოცანები და ხარვეზები; კლიენტთან დაკავშირების მეთოდები; პასუხების წერა და კლიენტების ყურადღების მიქცევა; სწორი კითხვები.

გაკვეთილი 11. Freelancing: შეკვეთის შესრულება და გადახდა

გადახდის მეთოდები: საბანკო გადარიცხვა ან ნაღდი ანგარიშსწორება; წინასწარი ან შემდგომი გადახდა; სიტუაციების მიმოხილვა, რომელშიც თითოეული მეთოდი უკეთესად იმუშავებს; სამუშაოსთვის მომზადება და კლიენტთან სავალდებულო ხელშეკრულებები; სამუშაო პროცესის თავისებურებები; თანამშრომლობის ბოლო ეტაპები; უკუკავშირის გაზიარება; "კონსულტაციის" ტექნიკა.

გაკვეთილი 12. სპეციალობები IT დარგში

როგორ მუშაობს განვითარება დიდ კომპანიებში? ვინ არიან ანალიტიკოსები, დიზაინერები, ტესტერები, არქიტექტორები, პროექტის მენეჯერები, გუნდის ლიდერები და ა.შ.

გაკვეთილი 13. კარიერული ასვლა IT-ში

როგორ გამოიყურება კარიერული კიბე IT-ში? რომელ სპეციალობებშია უფრო ადვილი მოგზაურობის დაწყება? როგორია განვითარების პერსპექტივები?

კურსი, რომელიც შეიქმნა EnglishDom სკოლასთან ერთად, დაგეხმარებათ დაეუფლონ ძირითად ინგლისურენოვან თემებს, რომლებიც აქტუალურია დამწყები IT სპეციალისტებისთვის. მაქსიმალური პრაქტიკა და ფოკუსირება IT ლექსიკაზე. 10 გაკვეთილი მოიცავს CV-ების წერას, ტექნიკურ დავალებებს და საქმიან წერილებს, ინტერვიუებსა და მოლაპარაკებებს, საერთაშორისო კომუნიკაციათქვენი პროექტის პოპულარიზაციისას. ინგლისურ ენაზე ცოცხალი დიალოგების დროს სტუდენტები გააძლიერებენ ფრაზებს, რომლებიც გამოადგებათ მათ მუშაობაში დეველოპერებისთვის და ტესტერებისთვის, მარკეტერებისთვის და დიზაინერებისთვის.

გაკვეთილი 10. დაწყება

ვსაუბრობთ ჩვენს პროექტზე და ვაცნობთ გუნდს ინგლისურად.

მოსკოვი უზარმაზარი მეტროპოლიაა. ეს ნიშნავს, რომ თითქმის ყველაფერი აქ არის. პროგრამირების კურსები მოსკოვში შეგიძლიათ იპოვოთ ყველა გემოვნებით, მაგრამ ასეთი მრავალფეროვნება არ აადვილებს დამწყებთათვის. ჩნდება გონივრული კითხვა: რა პრინციპით უნდა ვეძებოთ? ვის შეგიძლიათ ენდოთ თქვენს განათლებას? ამ სტატიაში ჩვენ არ განვიხილავთ უნივერსიტეტებს, როგორც ცოდნისა და უნარების წყაროს მომავალი პროგრამისტისთვის, არამედ ვისაუბრებთ კერძო კურსებზე. იმის შესახებ, თუ რა არის ისინი, რა თვისებები აქვთ და რას უნდა მიაქციოთ ყურადღება არჩევის დროს.

კურსები შეიძლება დაიყოს პირისპირ (ოფლაინ) და ონლაინ.

სრულ განაკვეთზე განათლების ფორმა

ფასიანი პროგრამირების კურსები

პირველი, მოდით გადავხედოთ ფასიან ჯავას კურსებს მოსკოვში. ისინი მოიცავს მასწავლებელთან ერთად კომპიუტერის კლასში მუშაობას და საშინაო დავალების შესრულებას. როგორც წესი, სტუდენტმა უნდა დაწეროს 1-დან 3 პროგრამირების პრობლემა კვირაში. ყველაფერი დაახლოებით იგივეა, რაც უნივერსიტეტში, მხოლოდ აუდიტორია, როგორც წესი, უფრო მცირეა და, თეორიულად, მეტი ყურადღება ექცევა თითოეულ სტუდენტს.

მდებარეობა

ყველამ, ვინც დედაქალაქში ცხოვრობს, იცის, რომ პირველი საკითხი, რომელიც უნდა დაზუსტდეს, არის გეოგრაფიულად სად მდებარეობს პროგრამირების კურსები; მოსკოვი დიდია. თუ საკმარისად გაგიმართლათ და იპოვნეთ სკოლა თქვენს სამუშაო ადგილთან ან საცხოვრებელ ადგილთან ახლოს, მაშინ შეგიძლიათ უფრო ახლოს გაითვალისწინოთ შემდეგი ფაქტორები. თუ არა... ორსაათიანი საცობების გამო სერიოზული ადამიანებიც კი ხანდახან ტოვებენ სკოლას გაკვეთილების ზედიზედ რამდენჯერმე გაცდენის შემდეგ.

ვიზიტის განრიგი

როგორც წესი, სამუშაო დღის შემდეგ ორი საღამო გამოყოფილია გაკვეთილებისთვის. გაკვეთილები გრძელდება 2-3 საათი. მოსკოვში პროგრამირების ზოგიერთი კურსი გთავაზობთ შაბათ-კვირის ჯგუფებს. ალბათ ეს მოსახერხებელია: შენი თავი უფრო ნათელია, ნაკლები საცობებია. თუმცა, ეს ვარიანტი ყველაზე ხშირად არ არის შესაფერისი ოჯახის ადამიანებისთვის.

კომპიუტერული კლასები

გაკვეთილების დაწყებამდე უნდა განმარტოთ, კურსები სთავაზობენ კომპიუტერებს თუ გჭირდებათ საკუთარი ლეპტოპის მოტანა. მეორე ვარიანტი სულ უფრო ხშირად ხდება. ამას აქვს თავისი დადებითი და უარყოფითი მხარეები. თუ თქვენ უკვე ატარებთ კომპიუტერს სამუშაოდ, მაშინ დიდ დისკომფორტს არ განიცდით, მაგრამ თუ ნამდვილად არ გსურთ თქვენი რკინის მეგობარი თან წაიყვანოთ მეტროში, შეიძლება დაგჭირდეთ სხვა ვარიანტების ძებნა.

მასწავლებელი

ძალიან მნიშვნელოვანი ფაქტორი! კურსის გადახდამდე, თქვენ უნდა იცოდეთ:
  1. მასწავლებლის კვალიფიკაცია.არის ის პროფესიონალი პროგრამისტი თუ ტექნიკური უნივერსიტეტის მასწავლებელი, რომელმაც გადაწყვიტა საღამოობით ცოტა ზედმეტი ფულის გამომუშავება? თუ პროგრამისტია, რომელ კომპანიაში მუშაობს, რა არის მისი სამუშაო დასახელება (Junior, Middle თუ Senior Java Developer)? მიზანშეწონილია შეხვდეთ ადამიანს, რომელიც პროგრამირების ინდუსტრიას შიგნიდან იცნობს და არა სხვების ისტორიებიდან.
  2. რამდენად დაკავებულია მასწავლებელი?ეყოლება მასწავლებელს თანაშემწეები თუ მარტო მუშაობს? რამდენ ჯგუფს უხელმძღვანელებს ეს მასწავლებელი ერთდროულად? ეს ასევე მნიშვნელოვანია. წარმოიდგინეთ: ჯგუფში ჩვეულებრივ 10-15 ადამიანია, ყველამ უნდა შეამოწმოს საშინაო დავალება. რა მოხდება, თუ მასწავლებელს ბევრი ასეთი ჯგუფი ჰყავს? ის ფიზიკურად ვერ შეძლებს თითოეული მოსწავლის კოდექსის გულდასმით შესწავლას.
  3. რამდენი ხანია მუშაობს ამ კურსებზე?თუ კი, შეეცადეთ იპოვოთ ფორუმები და მიმოხილვები, რომლებსაც ისინი წერენ მასზე: კომბინაცია "კარგი მასწავლებელი (ანუ ის, ვინც იცის როგორ კარგად ახსნას რთული მასალა) + კარგი პროგრამისტი" ძალიან იშვიათია. თუ მოულოდნელად იპოვით ასეთს, ჩათვალეთ, რომ ძალიან იღბლიანი ხართ.

ფასი

სახაზინო კუპიურების რაოდენობა, რომელთა გადახდა მოგიწევთ მოსკოვში პროგრამირების კურსებისთვის, პირველ რიგში დამოკიდებულია წინა პუნქტზე. ანუ მასწავლებლის კვალიფიკაციაზე და მოთხოვნაზე. კარგი პროგრამისტისაშუალო დონე თვეში მინიმუმ $2000 გამოიმუშავებს, თავისუფლად გაამრავლეთ ორზე, თუ ის უფროსია. როგორც გესმით, ასეთი ადამიანის არასრულ განაკვეთზე დაინტერესება ადვილი არ არის. თუ თქვენი მასწავლებელი თავად არის ბოლო სტუდენტი, მაშინ კურსები იაფი იქნება, მაგრამ ხარისხიანი... თუმცა, ჩვენ არ ვიმსჯელებთ. არიან ბუნებრივი მასწავლებლები, რომლებსაც უბრალოდ ძალიან სიამოვნებთ სწავლება. ასეთ ადამიანებს შეუძლიათ ბევრი რამ გამოიმუშაონ თავიანთი მთავარი საქმიდან, მასწავლებლობა კი თავიანთ ჰობიდ მიიჩნიონ.

Სასწავლო პროგრამა

როგორც წესი, პროგრამირების ერთი კურსი, მაგალითად „ჯავა ნულიდან“, გრძელდება 2-3 თვე და 1-2-3 ასეთი კურსია შემოთავაზებული. კვირაში ორი გაკვეთილი, კვირაში 2-3 დავალება. ეს არის დაახლოებით 36 დავალება კურსზე - დამწყები პროგრამისტისთვის ეს კატასტროფულად მცირეა. თითქმის ნებისმიერი საგანმანათლებლო კომპანია გთავაზობთ პროგრამირების კურსებს ნულიდან; მოსკოვში არის უამრავი ასეთი კურსი დამწყებთათვის. მაგრამ თუ უკვე გაქვთ გარკვეული გამოცდილება, არჩევანი მკვეთრად ვიწროვდება. მიზეზი მაინც იგივეა: ძალიან ცოტა პროგრამისტია მზად სწავლებისთვის. და მიუხედავად იმისა, რომ დამწყებთათვის კურსები შეიძლება ჯერ კიდევ ასწავლოს მწვანე მასწავლებელს ან კომპიუტერული მეცნიერების პროფესორს, ეს არ იმუშავებს "განგრძო" სტუდენტებთან. მთლიანი უპირატესობები:
  • პირადი კომუნიკაცია მასწავლებელ-პროგრამისტთან (თუ გაგიმართლათ);
  • თანაბრად პირადი ურთიერთქმედება სხვა სტუდენტებთან;
  • არსებობს სასწავლო პროგრამა, რომელსაც შეგიძლიათ „მიჰყვეთ“.
ხარვეზები:
  • თქვენ უნდა გაატაროთ დრო კურსებზე მოგზაურობაში;
  • მკაცრი განრიგი, რომელიც ადვილად ჩამორჩება მშრომელ ადამიანს;
  • რამდენიმე პრაქტიკული დავალება;
  • ხშირად - მაღალი ფასი ან დაბალი ხარისხის კურსები;
  • როგორც წესი, მასწავლებლების დიდი დატვირთვაა.
რა თქმა უნდა, ჩვენ გთავაზობთ მხოლოდ სრულ განაკვეთზე კურსების განზოგადებულ უპირატესობებსა და ნაკლოვანებებს. თუ გაგიმართლათ, რომ იპოვოთ კურსები კარგ მასწავლებელთან და ხელსაყრელ ადგილას, უარყოფითი მხარეები მაშინვე გასწორდება.

კურსები/სტაჟირება კომპანიებში

IT კომპანიების მიერ შემოთავაზებული კურსები ძალიან განსხვავდება იმ პირისპირ კურსებისგან, რომლებიც ზემოთ განვიხილეთ. როგორც წესი, ეს კურსები არის ანაზღაურებადი (და ზოგჯერ ფასიანი) სტაჟირება. როგორც წესი, მსხვილი IT კომპანიები ასეთ კურსებზე წელიწადში რამდენჯერმე იღებენ რეკრუტირებას. ეს ძალიან სასარგებლოა და მოსკოვის მაცხოვრებლებმა უნდა აკონტროლონ ასეთი მოვლენები. მხოლოდ თქვენ უნდა მიმართოთ მათ და ეს არ არის ადვილი, რადგან თითოეული ადგილისთვის ბევრი კანდიდატია. და კიდევ ერთი მნიშვნელოვანი პუნქტი: ასეთი კურსები განკუთვნილია ე.წ. გამოცდილი დამწყები”, ფაქტობრივად, თითქმის მზა უმცროსი დეველოპერები რეალური სამუშაო გამოცდილების გარეშე. შესაბამისად, ასეთი კურსები ჩვეულებრივ ექვს თვეს გრძელდება. ისინი ძალიან რთულია და დიდ თავდადებას მოითხოვს. საბოლოო ჯამში, ორიგინალური ჯგუფის ⅔ აღმოიფხვრება. შედეგად, უკვე შესაძლებელია საუკეთესოების დაქირავება სრულ განაკვეთზე სამუშაო, "ჯუნას" ხელფასზე. კომპანიების მიერ მოწოდებული კურსების უპირატესობები:
  • უფასო;
  • მასწავლებლები აქტიური პროგრამისტები არიან;
  • ბევრი შესაბამისი პრაქტიკა (ის რაც საჭიროა თანამედროვე IT-ში);
  • IT კომპანიაში მუშაობის თითქმის რეალური გამოცდილება;
  • კომპანიაში სამუშაოს მიღების შანსი.
ნაკლოვანებები (დამწყები პოზიციიდან):
  • კურსებზე ჩასაწერად უნდა იყოთ თითქმის მზად პროგრამისტი და გაიაროთ რთული შერჩევის პროცესი;
  • დიდი დატვირთვა (ხშირად შეუთავსებელია ძირითად სამუშაოსთან);

სწავლის ფორმა: ონლაინ კურსები

ჯგუფური ონლაინ პროგრამირების კურსები

ამ ტიპის კურსი დიდად არ განსხვავდება სრულ განაკვეთზე. კვირაში იგივე 2 გაკვეთილი გვაქვს მკაცრი გარკვეული დროსამი თვის განმავლობაში. მხოლოდ მოსწავლეთა ჯგუფი და მასწავლებელი იკრიბება არა საკლასო ოთახში, არამედ თითოეული თავის კომპიუტერთან. დანარჩენი ყველაფერი იგივეა. ალბათ, დაკავებული მოსკოველებისთვის ასეთი კურსები სასურველია: მინიმუმ ქრება პროგრამირების სკოლის გზაზე დროისა და ნერვების კარგვის პრობლემა. გარდა ამისა, ეს კურსები შეიძლება იყოს გარკვეულწილად იაფი, ვიდრე სრულ განაკვეთზე, რადგან მათ ორგანიზატორებს არ სჭირდებათ ფულის დახარჯვა საკლასო ოთახების დაქირავებაზე და აღჭურვილობის შეძენაზე. არის კიდევ ერთი ვარიანტი ონლაინ ჯგუფური კურსებისთვის. სტუდენტები უყურებენ არა პირდაპირ ლექციებს, არამედ ვებინარების ჩანაწერებს და გარკვეულ დროს მასწავლებელი ატარებს კონსულტაციების სერიას თეორიასა და საშინაო დავალებაზე. უპირატესობები:
  • არ არის საჭირო დროისა და ფულის დაკარგვა გზაზე
  • მასწავლებელთან და სხვა მოსწავლეებთან კომუნიკაცია
ხარვეზები:
  • იგივეა, რაც სრულ განაკვეთზე (გარდა მოგზაურობის დროისა)

ჯავის ინდივიდუალური ონლაინ კურსები მოსკოვში

ეს კურსები გარკვეულწილად წააგავს მენტორობას, ამიტომ ისინი ჩვეულებრივ ძვირია. როგორც წესი, თქვენ მიჰყვებით მასწავლებლის მიერ შედგენილ პროგრამას, უსმენთ მისი ლექციების ჩანაწერებს, აკეთებთ საშინაო დავალებებს, იღებთ მათ შემოწმებას და მოკლე პერსონალურ კონსულტაციებს. კარგი და მოქნილი ვარიანტი: აღარ არის მკაცრი კავშირი კლასთან, უყურებ ლექციებს, როცა ეს თქვენთვის მოსახერხებელია და მასწავლებელს ეთანხმები კონსულტაციის შესახებ თქვენთვის მოსახერხებელ დროს. უპირატესობები:
  • გაკვეთილის პირადი განრიგი
  • "ცოცხალი" მენტორი
ხარვეზები:
  • Მაღალი ფასი
შეიძლება წარმოიდგინოთ უფრო საბიუჯეტო ვარიანტი, რომელშიც ერთი მასწავლებელი "გაზიარებულია". დიდი რიცხვისტუდენტები. შესაბამისად, ყველას დიდი ყურადღება არ ექცევა (აქ ყველაფერი კურსის ავტორის პასუხისმგებლობაზეა დამოკიდებული). ამ მიდგომით ამოცანები ძალიან ხშირად შემოწმდება უბრალო ავტოვალიდატორით, უარეს შემთხვევაში - სხვა ადამიანების კოდებთან შედარებით GitHub-ზე.

"პლატფორმის" ონლაინ კურსები

პლატფორმები Coursera, Udemy, edX და სხვები შეიცავს უამრავ პროგრამირების კურსებს. მათ შორის ბევრი უფასოა, ჩაწერილი მათი ოსტატების მიერ (იგივე „ჰარვარდის CS50. პროგრამირების საფუძვლები“ ​​ინგლისურად არის edX-ზე და JavaRush ვებსაიტს აქვს ამ ყველაზე პოპულარული კურსის რუსული ვერსია დამწყებთათვის). ზოგიერთ პლატფორმას აქვს კურსების დასრულების სავარაუდო გრაფიკი (ყველაზე ხშირად, ამოცანები იყოფა კვირებად) და უმჯობესია არ გადაუხვიოთ ამ გრაფიკს. როგორც წესი, ასეთი კურსები შედგება ვიდეოებისგან, დამატებითი მასალებისგან, ტესტებისგან და საშინაო დავალებისგან. ზოგჯერ ამოცანების გადამოწმება შესაძლებელია მარტივი ჩაშენებული ვალიდატორების გამოყენებით, მაგრამ ყველაზე ხშირად კოდის სისწორის საიმედოდ შემოწმება შეუძლებელია. უპირატესობები:
  • მოქნილი გრაფიკი
  • ხშირად უფასოა ან არც თუ ისე ძვირი
ხარვეზები:
  • უკუკავშირის ნაკლებობა, რის გამოც სტუდენტები ყველაზე ხშირად ტოვებენ ასეთ კურსებს;
  • რამდენიმე პრაქტიკული დავალება.

სპეციალური Java კურსები: JavaRush

JavaRush არის Java Junior Developer დონეზე.

კურსი დაყოფილია 4 ბლოკად (ქვესტად), რომელთაგან თითოეულს აქვს 10 დონე. კურსის გავლისას თქვენ, როგორც კომპიუტერული თამაში, გადადიხართ დონიდან დონეზე, რითაც აუმჯობესებთ თქვენს ცოდნას და პროგრამირების უნარებს. თითოეული დონე შეიცავს რამდენიმე მოკლე ტექსტურ ლექციას, რომელიც დაწერილია დიალოგის სახით უაღრესად ორიგინალური პერსონაჟებისგან, ისევე როგორც მრავალი დავალება. მხოლოდ დონეზე არსებული პრობლემების უმრავლესობის გადაჭრით მიიღებთ საკმარის ქულებს (აქ მათ „ბნელ მატერიას“ უწოდებენ) წინსვლისთვის. თითოეულ დავალებას აქვს მოთხოვნების სია, რაც დამწყებთათვის გაუადვილებს გაგებას. ასევე ჩართულია კურსში ავტომატური შემოწმებაგადაწყვეტილებები და სარეკომენდაციო სისტემა - ერთგვარი "ვირტუალური მენტორი". თქვენ უბრალოდ დააჭირეთ ღილაკს და გამოსავალი ეგზავნება "მენტორს". ერთი წუთის შემდეგ მოდის პასუხი, რომელშიც მიიღებთ ინფორმაციას გადაწყვეტილების სისწორის შესახებ და რეკომენდაციების ჩამონათვალს, თუ როგორ უნდა გამოსწორდეს შეცდომები, ასეთის არსებობის შემთხვევაში. ასე რომ, ყურადღება: 1200-ზე მეტი ასეთი დავალებაა JavaRush-ში! მათი შემუშავება არის ის ძალიან ღირებული პირველი პროგრამირების გამოცდილება, რომელიც დამწყებთათვის ასე აკლიათ. ამ ფუნქციის გამო, პირისპირ ან ონლაინ კურსების მასწავლებლები ხშირად გირჩევენ JavaRush-ს, როგორც დამატებითი ამოცანების წყაროს. პრობლემების უმეტესობა საკმაოდ მარტივია, მაგრამ კურსის შუა ნაწილამდე დაწყებული, JavaRush გთავაზობთ მინი-პროექტებს - ეს არის დიდი ამოცანები. ნაბიჯ ნაბიჯ ინსტრუქციები, რომელიც ეხმარება სტუდენტებს შექმნან პირველი რთული პროგრამები. მაგალითად, თამაში 2048 ან რესტორნის ემულატორი. კურსის დაწყებამდე სტუდენტის დატვირთვისა და მისი უნარებიდან გამომდინარე, JavaRush შეიძლება დასრულდეს 3 თვიდან ერთ წლამდე პერიოდში. კურსის დასრულების შემდეგ შეგიძლიათ დარეგისტრირდეთ ონლაინ სტაჟირებაზე და შეისწავლოთ სტეკი ჯავის ტექნოლოგიები EE და შექმენით თქვენი საკუთარი პროექტი. ისინი, ვინც კურსებს ეძებენ, ხშირად შიშობენ, რომ ონლაინ გარემოში არ არის მნიშვნელოვანი გამოხმაურება, რაც სერიოზულ პრობლემებს თითქმის გადაუჭრელს ხდის. JavaRush წარმატებით უმკლავდება ამ პრობლემას JavaRush საზოგადოების და "დახმარების" განყოფილების დახმარებით, სადაც შეგიძლიათ დასვათ შეკითხვები ამოცანებისა და თეორიის შესახებ. როგორც წესი, სტუდენტების შეკითხვებს საკმაოდ სწრაფად პასუხობენ. ამას აკეთებენ ან სხვა სტუდენტები ან ვინმე JavaRush გუნდიდან.

დასკვნები

დასკვნების გამოტანა თქვენზეა დამოკიდებული! არ აქვს მნიშვნელობა რა, ჩვენ გისურვებთ, რომ იპოვოთ საუკეთესო კურსებიპროგრამირებაში მოსკოვში ან ონლაინში!
კიდევ რა წაიკითხოთ: