პროგრამირების საფუძვლები

BitCamp - ის უნივერსალური პროგრამა მათთვის ვისაც სურს შეისწავლოს პროგრამირება ნებისმიმერი ენის გამოყენებით.


სექცია 1 - შესავალი პროგრამირების საფუძვლებში

  • print - ეკრანზე მნიშვნელობის გამობეჭდვა;

  • მნიშვნელობები და მათი ტიპები;

    • int, float
    • string
    • boolean - true /false
  • ოპერაციები რიცხვით მნიშვნელობებზე;

    • მიმატება, გამოკლება, გამრავლება და ა.შ.
  • ოპერაციები ტექსტებზე - strings

    • კონკატენაცია
    • ტექსტის ფორმატირება ფორმატირება
      • escape character
      • კონკრატენაცია
    • string functions
  • ფუნქციები - გამოძახება

    • გამოძახება / სინტაქსი
    • მნიშვნელობის დაბრუნება
  • I/O - მნიშვნელობების შეტანა

    • input - ოპერაცია კონსოლით ან ბროუზერის prompt - ით
    • დაბრუნებული მნიშვნელობის გამოყენება - კომპოზიციით
    • დაბრუნებული მნიშვნელობის ტიპი და კონვერტაცია - string -> int/float
  • bugs

  • comments

პროექტები - ს1:

სექცია 2 - ცვლადები და ფუნქციები

  • ცვლადები - boxes or bindings?
    • დეკლარაცია
    • მინიჭების ოპერატორი
    • გამოყენება
  • ფუნქციები
    • საკუთარი ფუნქციების შექმნა
    • მნიშვნელობების დაბრუნება - return
    • დაბრუნებული მნიშვნელობების გამოყენება კომპოზიციაში
    • დაბრუნებული მნიშვნელობების გამოყენება ცვლადებში
    • პარამეტრები და არგუმენტები
  • date ფუნქცია
  • დამრგვალება - round
  • კოდის კითხვადობა
  • კონსტანტები

პროექტები - ს2:

  • პროექტი 7 - Mad Lib [57ex-4]
  • პროექტი 8 - Simple Math [57ex-5]
  • პროექტი 8 - Einstein [CS50P-0-einstein]
  • პროექტი 8 - Tip Calculator [CS50P-0-tip-calculator]
  • პროექტი 9 - Retirement Calculator [57ex-6]
  • პროექტი 10 - Area of a Rectangular Room [57ex-7]
  • პროექტი 11 - Pizza Party [57ex-8]
  • პროექტი 12 - Paint Calculator [57ex-9]
  • პროექტი 13 - Self-Checkout [57ex-10]
  • პროექტი 14- Currency Conversion [57ex-11]
  • პროექტი 15 - Computing Simple Interest [57ex-12]
  • პროექტი 16 - Determining Compound Interest [57ex-13]

სექცია 3 - პირობითი ოპერატორები და boolean მნიშვნელობები

  • if
  • else, elif / else if
  • true/false
  • ლოგიკური "ან" / "და"
  • ნაშთით გაყოფა
  • switch / case ამ match / case
  • ტექსტში ქვეტექსტის ძებნა
  • ტექსტში დასაწყისის იდენტიფიცირება (h ან hello - ბანკის პროექტის მაგალითი)

პროექტები ს3:

  • პროექტი 17 - Deep Thought [CS50P-1-deep-thought]
  • პროექტი 18 - Home Federal Saving Bank [CS50P-1-bank]
  • პროექტი 19 - File Extensions [CS50P-1-extensions]
  • პროექტი 20 - Math Interpreter [CS50P-1-interpreter]
  • პროექტი 21 - Meal Time [CS50P-1-meal]
  • პროექტი 22 - Tax Calculator [57ex-14]
  • პროექტი 23 - Password Validation [57ex-15]
  • პროექტი 24 - Legal Driving Age [57ex-16]
  • პროექტი 25 - Blood Alcohol Calculator [57ex-17]
  • პროექტი 26 - Temperature Converter [57ex-18]
  • პროექტი 27 - BMI Calculator [57ex-19]
  • პროექტი 28 - Multistate Sales Tax Calculator [57ex-20]
  • პროექტი 29 - Numbers to Names [57ex-21]
  • პროექტი 30 - Comparing Numbers [57ex-22]
  • პროექტი 31 - Troubleshooting Car Issues [57ex-23]

სექცია 4 - პრაქტიკული შეჯამება

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

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

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

პროექტები ს4:

  • პროექტი 32 - Anagram Checker [57ex-24]
  • პროექტი 33 - Password Strength Indicator [57ex-25]
  • პროექტი 34 - Months to Pay Off a Credit Card [57ex-26]
  • პროექტი 35 - Validating Inputs [57ex-27]

სექცია 5 - ციკლები

  • შესავალი - ციკლების საჭიროება და რაობა
  • while ციკლი
  • do while
  • for ციკლი
  • break

პროექტები ს5:

  • პროექტი 36 - camelCase [CS50P-2-camel]
  • პროექტი 37 - Coke Machine [CS50P-2-coke]
  • პროექტი 38 - Just setting up my twttr [CS50P-2-twttr]
  • პროექტი 39 - Vanity Plates [CS50P-2-plates]
  • პროექტი 40 - Adding Numbers [57ex-28]
  • პროექტი 41 - Handling Bad Input [57ex-29]
  • პროექტი 42 - Multiplication Table [57ex-30]
  • პროექტი 43 - Karvonen Heart Rate [57ex-31]
  • პროექტი 44 - Guess the Number Game [57ex-32]

სექცია 6 - მონაცემთა სტრუქტურები - მასივი და ობიექტი

  • მასივი / array / list
    • მასივის სიგრძე
    • ელემენტის წაკითხვა ინდექსით
    • ელემენტის ჩამატება - თავში, ბოლოში, შუაში
    • ელემენტის წაშლა - თავში, ბოლოში, შუაში
    • მასივის დანაწევრება
    • დამატებითი ფუნქციები
    • ციკლებით მუშაობა მასივებთან
    • მასივებისა და string - ების მსგავსება
  • ობიექტი / object / dictionary
    • properties - key/value
  • დესტრუქტურიზაცია და მასივებთან/ობიექტებთან მშაობის სხვა ხრიკები
  • JSON

სექციის დამატებითი საკითხები

  • Bugs, Error Handling & Exceptions

პროექტები ს6:

  • პროექტი 45 - Nutrition Facts [CS50P-2-nutrition]
  • პროექტი 46 - Magic 8 Ball [57ex-33]
  • პროექტი 47 - Employee List Removal [57ex-34]
  • პროექტი 48 - Picking a Winner [57ex-35]
  • პროექტი 49 - Computing Statistics [57ex-36]
  • პროექტი 50 - Password Generator [57ex-37]
  • პროექტი 51 - Filtering Values [57ex-38]
  • პროექტი 52 - Sorting Records [57ex-39]
  • პროექტი 53 - Filtering Records [57ex-40]

ფინალური სექცია

  • scopes
  • closure
  • recursion
  • lambda / anonymous functions
  • მუტაცია
  • ფუნქციების პარამეტრები
    • განუსაზღვრელი რაოდენობის პარამეტრები
    • პოზიციური პარამეტრები
    • დასახელებული პარამეტრები - Python
    • პარამეტრების default მნიშვნელობები
  • ბიბლიოთეკები
  • ფაილებთან მუშაობა
  • რეგულარული გამოსახულებები
  • OOP