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

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

მანქანის ენის ისტორია

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

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

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

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

რა არის პროგრამირების სხვადასხვა ენა?

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

  1. ტექსტი.ყველა ინსტრუქცია და ბრძანება იწერება ტექსტში სპეციალურ რედაქტორში (კომპილერში). ეს კოდი უფრო ეფექტური და პროდუქტიულია. ეს ენებია C/C++, Delphi, Java, Basic, C#, xml, httpდა სხვა.
  2. გრაფიკული.ბევრს არასოდეს სმენია მათ შესახებ, მაგრამ ისინი მნიშვნელოვან როლს ასრულებენ. მათი განსხვავება ისაა, რომ არ არის საჭირო ტექსტის დაწერა, ან ის მინიმუმამდეა დაყვანილი. გამოიყენება ლოგიკური ჯაჭვების ან სარელეო ლოგიკის ალგორითმიზაციისა და მშენებლობისთვის. წარმომადგენლები: FBD, SFC, LD (Ladder Diagram) და სხვა.

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

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

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

3D პროგრამებისთვის გჭირდებათ აქვს სივრცითი აზროვნება.

იმისათვის, რომ გახდეთ პროფესიონალი პროგრამისტი, თქვენ უნდა გაიაროთ შემდეგი ნაბიჯები:

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

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

Lego Mindstorms კომპლექტი საფუძვლების სწავლებისთვის

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

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

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

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

სად დავიწყოთ ენების სწავლა?

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

თავისებურებები

პერსპექტივები

მიკროკონტროლერები / Arduino

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

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

Მობილური მოწყობილობები

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

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

ვებ პროგრამირება

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

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

სისტემის განვითარება

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

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

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

ვიდეო პროგრამირების შესახებ

1. საკუთარ თავზე

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

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

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

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

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

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

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

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


კითხვა-პასუხის სერვისი ტექნოლოგიურ თემებზე „ტოსტერი“

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

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

2. მენტორის დახმარებით

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

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

3. „ცოცხალი“ კურსების მასწავლებლები

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

პოპულარული რუსულენოვანი ონლაინ პლატფორმები, რომლებიც უზრუნველყოფენ პროგრამისტების სისტემატიურ ტრენინგებს: “Netology”, GeekBrains და Loftschool.

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

4. უნივერსიტეტში

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

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

როგორ ავირჩიოთ მიმართულება და ენა

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

  1. ვებ დეველოპმენტი. პოპულარული ენები: JavaScript, PHP, Python, Ruby.
  2. მობილურის განვითარება. პოპულარული ენები: Java, Swift.
  3. თამაშებისა და პროგრამების შემუშავება დესკტოპ კომპიუტერებისთვის. პოპულარული ენები: C++, C#, C.
  4. დიდი მონაცემები, მანქანათმცოდნეობა. პოპულარული ენები: Python, R, Scala.

რა უნდა ვეძებოთ არჩევისას

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


საერთაშორისო შრომის ბაზარზე ენებზე მოთხოვნის გრაფიკი / research.hackerrank.com

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

თუ ვერ გადაწყვიტე

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

მაგალითად, დამწყებთათვის საგანმანათლებლო რესურსის freeCodeCamp Quincy Larson JavaScript-ის დამფუძნებელი. ლარსონი ძალიან მარტივ არგუმენტს აკეთებს:

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

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

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

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

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

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

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

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

  1. შეასრულეთ რამდენიმე შეკვეთა. ეს შეიძლება იყოს Freelansim ან Upwork. შესთავაზეთ თქვენი სერვისები უფასოდ, შემდეგ მოვლენ თქვენთან პირველი მომხმარებლები.
  2. მოძებნეთ თანამოაზრეები და შექმენით მათთან საერთო პროექტი. ასეთი მიზნებისთვის ხალხი გაერთიანებულია თითქმის ყველა საგანმანათლებლო პლატფორმაზე, სადაც არის პროგრამირების კურსები.
  3. აირჩიეთ კურსები, რომელთა ორგანიზატორი ეხმარება სამუშაოს განთავსებას. მაგალითად, GeekBrains-ში, ტრენინგის შემდეგ, თქვენ გაქვთ წვდომა სტაჟირებაზე სხვადასხვა კომპანიისგან, მათ შორის ფასიანიც. GeekUniversity და STEP მათი კურსდამთავრებულების დასაქმების გარანტიას იძლევა.

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

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

მიმართულების არჩევა

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

  • ვებ საიტებს ახლა იმდენი განსხვავებული შესაძლებლობა აქვთ, რომ მათ შეიძლება ეწოდოს სრულფასოვანი აპლიკაციები. არსებობს ორი ტიპის ენაპროგრამირება ვებისთვის. ზოგიერთი განკუთვნილია სერვერზე სკრიპტების შესასრულებლად, ეს არის PHP, Ruby, Perl, Puthon. სხვები საჭიროა სკრიპტების დასაწერად, რომლებიც მუშაობს ბრაუზერში კლიენტის მანქანაზე;
  • აპლიკაციის პროგრამირებასწავლობს წერის პროგრამას საბოლოო მომხმარებლისთვის. ეს შეიძლება იყოს პროგრამები ბუღალტრული აღრიცხვისთვის, მონაცემთა ბაზებთან მუშაობისთვის, ასევე თამაშები, ვიდეოების ყურების პროგრამები და მრავალი სხვა;
  • სისტემის პროგრამისტიეწევა დრაივერების, შემდგენელებისა და სხვა პროგრამული უზრუნველყოფის წერას, რომელიც საჭიროა კომპიუტერის მუშაობისთვის და გამოიყენება სხვა IT სპეციალისტების მიერ.

ენის შერჩევა

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

ინტერპრეტებულთა შორისდღეს ყველაზე პოპულარულია PHP, Python და Perl.

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

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

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

შემდგენლებს შორისარსებობს ორი ენა: C++ და Java.

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

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

როგორ გავხდეთ პროგრამისტი

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

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

სისტემის პროგრამისტებიჩვეულებრივ იწერება C-ში და Assembler-ში.

აპლიკაციის პროგრამებიდა ბიზნეს პროგრამები ჩვეულებრივ იწერება C++ ან ჯავაში.

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

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

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

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

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

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

საუკეთესო უცხოური სერვისები, სადაც შეგიძლიათ ისწავლოთ პროგრამების წერა

ახლა მოდით გადავხედოთ ტრენინგის რამდენიმე სერვისს:


  • ჩართულია კოდის სკოლაშეგიძლიათ უფასოდ ისწავლოთ პროგრამული უზრუნველყოფის შემუშავება HTML/CSS, JavaScript, Ruby, Python, .NET, iOS, Git და სხვა. ამ რესურსზე სწავლის დასაწყებად, ჯერ უნდა დარეგისტრირდეთ. ამის შემდეგ შეგიძლიათ დაათვალიეროთ თქვენთვის საინტერესო კურსები და გაკვეთილები. თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ ვიდეოები საიტიდან თქვენს კომპიუტერში.
  • Საიტზე Ხის სახლიარის ბევრი კურსი, რომელიც ძნელია იპოვოთ სხვა სასწავლო პლატფორმებზე, როგორიცაა Android კურსი, თამაშების განვითარების კურსი. ასევე ტარდება ციფრული ბიზნესის, C# პროგრამირების, მონაცემთა ბაზების, Ruby და სხვა საინტერესო სასწავლო პროგრამების კურსები.
  • პლატფორმის შექმნისას უდასიტობაყველაზე უშუალო მონაწილეობა სტენფორდის უნივერსიტეტმა მიიღო. იმისათვის, რომ ისწავლოთ ნულიდან დაპროგრამება, უნდა დაიწყოთ რეგისტრაცია. ტრენინგის ვადები არ არის, შეგიძლიათ ისწავლოთ საკუთარი ტემპით. ყველა კურსი დაყოფილია ჯგუფებად სირთულის დონის მიხედვით, არის როგორც სასწავლო მასალა საინფორმაციო ტექნოლოგიების სრულყოფილად არმცოდნეებისთვის, ასევე მოწინავე სტუდენტებისთვის.

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

2 ხმა

გამარჯობა, ძვირფასო მკითხველებო!

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

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

ყველას ეძლევა?

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

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

სწორი დასაწყისი ბრძოლის ნახევარია

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

  • ალგორითმი;
  • ფუნქცია;
  • ციკლი;
  • მდგომარეობა.

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

რა ენით დავიწყოთ

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

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

თუ გაინტერესებთ პერსპექტიული პროგრამირების ენები, ყურადღება მიაქციეთ:

  • პითონი. სხვათა შორის, აქ იწყება ბევრი დამწყები პროგრამისტი. მისი პოპულარობის საიდუმლო არ არის მის ფართო ფუნქციონირებაში, არამედ პრაქტიკის სწრაფად დაწყების უნარში. დასაწყებად, უბრალოდ გადმოწერეთ ფაილი და გაუშვით. ნაწარმოების სირთულეების გაგება ასევე არ არის რთული: პითონისთვის უამრავი წიგნია დაწერილი. სხვათა შორის, ეს ენა ბევრ მსხვილ კომპანიაში გამოიყენება და ვინც კარგად იცის, ყოველთვის შეუძლია სამსახურის პოვნა.
  • ჯავა. ძალიან პოპულარული, გამოიყენება ყველა მოწყობილობასა და პლატფორმაზე. სპეციალისტები, რომლებმაც ეს აითვისეს, მოთხოვნადია და ყოველთვის შეძლებენ მაღალანაზღაურებადი პოზიციის პოვნას. სხვათა შორის, მას არაფერი აქვს საერთო JavaScript-თან.
  • PHP. . მას უწოდებენ "არც თუ ისე რეალურ" პროგრამირების ენას, რადგან ის შექმნილია ექსკლუზიურად ვებისთვის, ხოლო ამავე დროს იშვიათად გამოიყენება ვებ აპლიკაციებში. ენა არის ყველაზე პოპულარული „ძრავების“ ან CMS-ის გულში. (ამ პუბლიკაციაში მე უკვე დავწერე ამის შესახებ და აქ შეგიძლიათ ნახოთ) ამიტომ, თუ ეს გესმით და შემდეგ WordPress, რომელიც ვებსაიტების მართვის ერთ-ერთი ყველაზე პოპულარული სისტემაა, ყოველთვის იპოვით სამუშაოს თქვენთვის. .

არის სხვა ენებიც: Ruby (როგორც Python სკრიპტირება), C# (ფუნქციურად Java-ს მსგავსი, საშუალებას გაძლევთ შექმნათ ვებსაიტები და აპლიკაციები .NET Framework-ზე), C++ (C-ის რთული ვერსია, რომელიც ხსნის უამრავ შესაძლებლობას, რაც უკეთესია მენტორთან გაგება).

როგორ ვისწავლოთ

არსებობს სამი გზა პროგრამირების საფუძვლების შესასწავლად ყოველგვარი უნარების გარეშე.

თვითგანათლება

ამ შემთხვევაში, თავისუფალ დროს მოგიწევთ წიგნების წაკითხვა, მაგალითად:

  • ლ. ბეილისა და მ. მორისონის „PHP-ის და MySQL-ის სწავლა“;
  • « მარტივი პითონი. თანამედროვე პროგრამირების სტილი» ბ. ლიუბანოვიჩი და სხვ.

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

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

მენტორის დახმარება

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

ტრენინგები

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


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

სად წავიდეთ

სად დავიწყოთ სწავლა? მიმართულების არჩევიდან, რაც ასევე გამოიწვევს ენის არჩევას. ჭამე:

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

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

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

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

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

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

პითონის პროგრამირების ენისა და ზოგადი პროგრამირების ტექნიკის საწყისი გაგების მოპოვება (2 შაბათ-კვირა):

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

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

Django ვებ ჩარჩოს ძირითადი გაგების მიღება (1 შაბათ-კვირა):

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

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

პითონის/ზოგადი პროგრამირების კონცეფციების უფრო ღრმა გაგება (4-8 შაბათ-კვირა):

  • Udacity-ის შესავალი CS კლასი. Udacity კურსები, როგორც წესი, იყოფა 7 კლასის სესიად (სესიაზე 2-3 საათი), რომელიც შეგიძლიათ გააკეთოთ თქვენი საკუთარი ტემპით. (მე ვარ Udacity-ის პედაგოგიკის დიდი გულშემატკივარი და გირჩევთ ამ ორთვიანი კურსის შემდგომი პროგრამირების ან ვებ განვითარების კლასს.)
  • MIT-ის შესავალი CS კურსის 1 ნაწილი. ნამდვილად გამოსადეგია სწავლაში და გასაკვირი მარტივი სწავლაა.

ივარჯიშეთ მარტივი ვებ აპლიკაციების შექმნაში (2 დღე დასვენება):

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

შექმენით თქვენი პროტოტიპი (2 დღე დასვენება):

  • შექმნით პროტოტიპს მხოლოდ 2 შაბათ-კვირაში? დიახ, დაბნეული იქნებით მისი გარეგნობით (