مفاهیم اصلی و تئوری

پرسیده شده
فعالیت 1271 روز پیش
دیده شده 647 بار
0

سلام 
میخواستم بدونم مفاهیم تئوری که به عنوان یه Developer باید بدونیم چه چیز هایی هستش و کدوماش لازم و ضروری هست؟

 
فایل پیوست

Mohammad Mahdi Yazdani
Mohammad Mahdi Yazdani

11 آبان 99

3

مورد تایید استاد

حذف شده

لازم که یه مقدار از مفاهیم مهندسی نرم افزار و بیشتر مفاهیم برنامه نویسی رو بدونی.

 

مفاهیم مهندسی نرم افزار که بنظرم ۲ تا درس ۳ واحدی که بچه های نرم افزار و IT میخونن نسبتاً خوبه که از ۲ ۳ تا کتاب گرفته شده و یه مقدار هم در مورد متد های توسعه نرم افزار و Agile, Scrum بخونید و درک کنید مفاهیمش (بعضی از مفاهیم رو فقط باید بدونید و شاید مستقیما ازشون استفاده نکنید.)

بعنوان برنامه نویس خیلی مهمه که با سیستم عاملی که دارید باهاش کار میکنید خیلی خوب آشنا باشید و بدونید چطور کار میکنه (منظورم سیستم عاملی هست که کدتون قراره توش اجرا بشه، سیستم عامل production محصول، مثلا برنامه نویس ها php, python لازمه که لینوکس رو خیلی خوب بشناسن و بدونن چطور کار میکنه و ساختارش چجوریه)

در مورد اینکه کامپیوتر چطور کار میکنه هم خوبه بدونید. مثل اینکه سخت افزار و لپتاپ تون چطور کار میکنه... دونستن مفاهیم باینری، درس های اسمبلی، معماری کامپیوتر هم به قدرت منطق تون و اینکه چطور کامپیوتر کار میکنه کمک خوبی میکنه...

 

بعنوان دانشجو کارشناسی ناپیوسته تکنولوژی های مهندسی نرم افزار بنظرم این درس هایی که تو دانشگاه خوندم یه مقدار تو برنامه نویسی کمک کردن:

  1. کاردانی:
  • آمار و احتمالات
  • برنامه سازی پیشرفته ۱ (C++)
  • برنامه سازی پیشرفته ۲ (C++)
  • ذخیره و بازیابی اطلاعات (در مورد مدل های ذخیره اطلاعات تو هارد و رم میگه)
  • مبانی اینترنت (یه مقدار از HTML, CSS, WordPress بهمون گفتن)
  • ساختمان داده (یه مقدار در مورد آرایه، درخت، پشته، صف، گراف و غیره گفتن)
  • سخت افزار کامپیوتر (۲)
  • سیستم عامل (۲)
  • پایگاه داده
  • آزمایشگاه پایگاه داده
  • زبان ماشین و اسمبلی
  • مبانی مهندسی نرم افزار
  • برنامه نویسی مبتنی بر وب
  • مباحث ویژه (C#)
  • پروژه (کاردانی)
  • کار آموزی (کاردانی)

 

  1. کارشناسی
  • ریاضی گسسته (گراف، درخت، منطق، استنتاج، گزاره نماها، سورها، روابط بازگشتی)
  • زبان ماشین و اسمبلی
  • زبان تخصصی
  • مباحث ویژه (نظریه زبان ها و ماشین ها)
  • طراحی الگوریتم ها
  • مهندسی نرم افزار
  • معماری کامپیوتر
  • برنامه سازی سیستم
  • آزمایشگاه معماری کامپیوتر
  • ایجاد بانک های اطلاعاتی
  • پروژه
  • کارآموزی
  • آزمایشگاه مهندسی نرم افزار
  • طراحی صفحات وب
  • طراحی و پیاده سازی زبان های برنامه نویسی

 

درس هایی که میگن در آینده شغلیم تو برنامه نویسی، هوش مصنوعی، ماشین لرنینگ و علم داده کمک میکنه:

  • ریاضی عمومی
  • ریاضی مهندسی
  • معادلات دیفرانسیل
  • آمار و احتمالات مهندسی
  • هوش مصنوعی

 

مفاهیم برنامه نویسی هم بعضی هاش مستقل از زبان هستن و تو همه زبان ها باید بلد باشید بعضی هاش هم فقط مربوط به زبانی هست که دارید باهاش کار میکنید. اینم یه لیستی از مفاهیمی که به ذهنم میرسه:

  • سطح اول
    • حلقه ها Loops
    • متغیرها Varialbes
    • ثابت ها Constants
    • شرط Conditions
    • ساختار های داده Data Structures
    • دستور زبان Syntax
    • الگوریتم Algorithm
    • دستور Statement
    • تابع Function
    • توابع زبان Inbiult functions
    • انواع زبان ها Type of languages

    • دسته بندی زبان ها Different language categories

    • کامپیوتر چطور یه برنامه رو اجرا میکنه How does a computer run applications

سرفصل هاش:

https://۷learn.ac/chapter-programming-۰-step

https://۷learn.ac/chapter-python-problem-solving

https://۷learn.ac/chapter-python-interpreter-intro

https://۷learn.ac/chapter-python-step-۳

https://۷learn.ac/chapter-deep-into-python

 

  • سطح دوم

    • OOPS (class, object, method, method types, inheritance, composition, constructors, ...)

    • Compiler and how it works
    • Interpreter and how it works
    • Decorator
    • Encapsulation
    • Abstraction
    • SQL
    • How database works
    • databases, tables, fields, and relationships
    • Basic CRUD statements
    • application life cycle
    • Git and how it works
    • unit-testing

سرفصل هاش:

https://۷learn.ac/chapter-git

https://۷learn.ac/chapter-python-object-oriented

https://۷learn.ac/chapter-database-concepts

https://۷learn.ac/chapter-sql-beginner

 

  • سطح سوم
    • Design Patterns
    • Polymorphism
    • What is normalization?
    • Define ۱NF, ۲NF, ۳NF, ۴NF, etc.
    • concurrency and parallelism
    • What protocols do websites rely on?
    • ARP, TCP, IP (v۴ and v۶), HTTP, FTP, SSL
    • MVC
    • MVT
    • JSON
    • API
    • REST API
    • What are frameworks and how do I use them?
    • Socket
    • Best practices

سرفصل هاش:

https://۷learn.ac/chapter-web-base-concepts

 

استاد کیوان علی محمدی هم پست های خوبی میذارن برای برنامه نویس ها:

https://www.instagram.com/k۱.code/

اینستاگرام سون لرن هم کلی پست گذاشته که یه تعداد از پست هاش این مفاهیم بالا رو توضیح دادن:

https://www.instagram.com/7learn/

 

منابع:

https://webplatform.github.io/docs/concepts/general_programming/

 

فایل پیوست

محمدعلی رضا

توسط

محمدعلی رضا

11 آبان 99

حذف شده
این کانال یویتوب هم محتوای خوبی داره: https://www.youtube.com/c/HusseinNasser-software-engineering/
محمدعلی رضا

11 آبان 99