در صورتی که در مورد هر کدام از بخش های زیر نیاز به راهنمایی و یا مشاوره داشتید میتوانید از طریق این لینک برای رزرو وقت مشاوره اقدام نمایید
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
CS50 - Introduction to Computer Science - Harvard | 2 weeks | 10-20 hours/week | none |
تمام دوره های آموزشی مربوط به "علوم رایانه پایه" الزامی است، مگر اینکه خلاف آن ذکر شده باشد.
موضوعات تحت پوشش:
functional programming
design for testing
program requirements
common design patterns
unit testing
object-oriented design
static typing
dynamic typing
ML-family languages (via Standard ML)
Lisp-family languages (via Racket)
Ruby
and more
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Systematic Program Design (textbook) (جایگزین: part 1, part 2) | 13 weeks | 8-10 hours/week | none |
Programming Languages, Part A | 5 weeks | 4-8 hours/week | Systematic Program Design (Hear instructor) |
Programming Languages, Part B | 3 weeks | 4-8 hours/week | Programming Languages, Part A |
Programming Languages, Part C | 3 weeks | 4-8 hours/week | Programming Languages, Part B |
Object-Oriented Design | 4 weeks | 4 hours/week | Basic Java |
Design Patterns | 4 weeks | 4 hours/week | Object-Oriented Design |
Software Architecture | 4 weeks | 2-5 hours/week | Design Patterns |
ریاضی گسسته (Math for CS) یک پیش نیاز و ارتباط نزدیک با مطالعه الگوریتم ها و ساختار داده است. حساب دیفرانسیل و انتگرال هم دانش آموزان را برای ریاضیات گسسته آماده می کند و هم به دانش آموزان کمک می کند تا بلوغ ریاضی را توسعه دهند.
موضوعات تحت پوشش:
ریاضیات گسسته
برهان های ریاضی
آمار پایه
O-notation
احتمالات گسسته
و غیره
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Calculus 1A: Differentiation (جایگزین) | 13 weeks | 6-10 hours/week | جایگزین این و 2 دوره بعدی را پوشش می دهد |
Calculus 1B: Integration | 13 weeks | 5-10 hours/week | - |
Calculus 1C: Coordinate Systems & Infinite Series | 6 weeks | 5-10 hours/week | - |
Mathematics for Computer Science (جایگزین) | 13 weeks | 5 hours/week | 2015/2019 solutions 2010 solutions 2005 solutions. |
درک نظریه مهم است، اما از شما نیز انتظار می رود که برنامه بنویسید. تعدادی ابزار وجود دارد که به طور گسترده ای برای تسهیل این فرآیند استفاده می شود. اکنون آنها را بیاموزید تا کار برنامه نویسی آیندهی خود را آسان کنید.
موضوعات تحت پوشش:
terminals and shell scripting
vim
command line environments
version control
and more
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
The Missing Semester of Your CS Education | 2 weeks | 12 hours/week | - |
موضوعات تحت پوشش:
procedural programming
مدیریت دستی حافظه
جبر بولی
گیت منطقی
memory
computer architecture
assembly
machine language
virtual machines
high-level languages
compilers
operating systems
network protocols
and more
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Build a Modern Computer from First Principles: From Nand to Tetris (جایگزین) | 6 weeks | 7-13 hours/week | - |
Build a Modern Computer from First Principles: Nand to Tetris Part II | 6 weeks | 12-18 hours/week | - |
Operating Systems: Three Easy Pieces | 10-12 weeks | 6-10 hours/week | - |
Computer Networking: a Top-Down Approach | 8 weeks | 4–12 hours/week | Wireshark Labs |
موضوعات تحت پوشش:
divide and conquer
sorting and searching
randomized algorithms
graph search
shortest paths
data structures
greedy algorithms
minimum spanning trees
dynamic programming
NP-completeness
and more
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Divide and Conquer, Sorting and Searching, and Randomized Algorithms | 4 weeks | 4-8 hours/week | یک زبان برنامه نویسی، ریاضیات برای علوم کامپیوتر |
Graph Search, Shortest Paths, and Data Structures | 4 weeks | 4-8 hours/week | Divide and Conquer, Sorting and Searching, and Randomized Algorithms |
Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming | 4 weeks | 4-8 hours/week | Graph Search, Shortest Paths, and Data Structures |
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them | 4 weeks | 4-8 hours/week | Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming |
موضوعات تحت پوشش:
محرمانه بودن، یکپارچگی، در دسترس بودن
طراحی امن
Defensive Programming
تهدید و حمله
امنیت شبکه
Cryptography
و غیره
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Cybersecurity Fundamentals | 8 weeks | 10-12 hours/week | - |
Principles of Secure Coding | 4 weeks | 4 hours/week | - |
Identifying Security Vulnerabilities | 4 weeks | 4 hours/week | - |
یکی از موارد زیر را انتخاب کنید:
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Identifying Security Vulnerabilities in C/C++Programming | 4 weeks | 5 hours/week | - |
Exploiting and Securing Vulnerabilities in Java Applications | 4 weeks | 5 hours/week | - |
موضوعات تحت پوشش:
متودولوژی چابک
REST
software specifications
refactoring
relational databases
transaction processing
data modeling
neural networks
supervised learning
unsupervised learning
OpenGL
ray tracing
و غیره
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Databases: Modeling and Theory | 2 weeks | 10 hours/week | برنامه نویسی پایه |
Databases: Relational Databases and SQL | 2 weeks | 10 hours/week | برنامه نویسی پایه |
Databases: Semistructured Data | 2 weeks | 10 hours/week | برنامه نویسی پایه |
Machine Learning | 11 weeks | 9 hours/week | Basic coding |
Computer Graphics (جایگزین) | 6 weeks | 12 hours/week | C++ or Java, linear algebra |
Software Engineering: Introduction | 4 weeks | 8-10 hours/week | برنامه نویسی پایه, and a sizable project |
موضوعات تحت پوشش:
زمینه اجتماعی
ابزارهای تحلیلی
اخلاق حرفه ای
مالکیت معنوی
حریم خصوصی و آزادی های مدنی
وغیره
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Ethics, Technology and Engineering | 9 weeks | 2 hours/week | none |
Introduction to Intellectual Property | 4 weeks | 2 hours/week | none |
Data Privacy Fundamentals | 3 weeks | 3 hours/week | none |
پس از تکمیل هر دوره الزامی در Core CS، دانش آموزان باید بر اساس علاقه زیر مجموعه ای از دوره ها را از Advanced CS انتخاب کنند. لازم نیست هر درس از یک زیرمجموعه گذرانده شود. اما دانشآموزان باید هر درسی را که مربوط به رشتهای است که قصد تحصیل در آن را دارند بگذرانند.
موضوعات تحت پوشش:
debugging theory and practice
goal-oriented programming
parallel computing
object-oriented analysis and design
UML
large-scale software architecture and design
and more
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Parallel Programming | 4 weeks | 6-8 hours/week | Scala programming |
Compilers | 9 weeks | 6-8 hours/week | none |
Introduction to Haskell | 14 weeks | - | - |
Learn Prolog Now! (جایگزین)* | 12 weeks | - | - |
Software Debugging | 8 weeks | 6 hours/week | Python, object-oriented programming |
Software Testing | 4 weeks | 6 hours/week | Python, programming experience |
(*) کتابی از Blackburn, Bos, Striegnitz (گردآوری شده از منبع, تحت توزیع مجدد مجوز CC)
موضوعات تحت پوشش:
digital signaling
combinational logic
CMOS technologies
sequential logic
finite state machines
processor instruction sets
caches
pipelining
virtualization
parallel processing
virtual memory
synchronization primitives
system call interface
and more
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها | توضیحات |
---|---|---|---|---|
Computation Structures 1: Digital Circuits ( جایگزین ۱ ) ( جایگزین ۲ ) | 10 weeks | 6 hours/week | Nand2Tetris II | لینکهای جایگزین شامل هر 3 دوره است. |
Computation Structures 2: Computer Architecture | 10 weeks | 6 hours/week | Computation Structures 1 | |
Computation Structures 3: Computer Organization | 10 weeks | 6 hours/week | Computation Structures 2 |
موضوعات تحت پوشش:
formal languages
Turing machines
computability
event-driven concurrency
automata
distributed shared memory
consensus algorithms
state machine replication
computational geometry theory
propositional logic
relational logic
Herbrand logic
game trees
and more
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Theory of Computation (جایگزین) | 13 weeks | 10 hours/week | Mathematics for Computer Science, logic, algorithms |
Computational Geometry | 16 weeks | 8 hours/week | algorithms, C++ |
Game Theory | 8 weeks | 3 hours/week | mathematical thinking, probability, calculus |
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Web Security Fundamentals | 5 weeks | 4-6 hours/week | آشنایی با تکنولوژی های اساسی وب |
Security Governance & Compliance | 3 weeks | 3 hours/week | - |
Digital Forensics Concepts | 3 weeks | 2-3 hours/week | Core Security |
Secure Software Development: Requirements, Design, and Reuse | 7 weeks | 1-2 hours/week | برنامه نویسی پایه and Core Security |
Secure Software Development: Implementation | 7 weeks | 1-2 hours/week | Secure Software Development: Requirements, Design, and Reuse |
Secure Software Development: Verification and More Specialized Topics | 7 weeks | 1-2 hours/week | Secure Software Development: Implementation |
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Essence of Linear Algebra | - | - | high school math |
Linear Algebra | 14 weeks | 12 hours/week | corequisite: Essence of Linear Algebra |
Introduction to Numerical Methods | 14 weeks | 12 hours/week | Linear Algebra |
Introduction to Formal Logic | 10 weeks | 4-8 hours/week | Set Theory |
Probability | 15 weeks | 5-10 hours/week | Differentiation and Integration (جایگزین) |
تکالیف و امتحانات هر دوره برای آماده سازی شما برای استفاده از دانش خود برای حل مشکلات دنیای واقعی است.
بعد از اینکه تمام بخشهای "علوم رایانه پایه" و بخش های انتخابی خود از "علوم رایانه پیشرفته" را گذراندید، باید به مشکلی فکر کنید که می توانید با استفاده از دانشی که به دست آورده اید آن را حل کنید. نه تنها انجام یک پروژه واقعی در رزومه شما عالی به نظر می رسد، بلکه انجام یک پروژه دانش شما را نیز اعتبار بخشیده و تثبیت می کند.
شما میتوانید چیزی کاملاً جدید ایجاد کنید، یا میتوانید یک پروژه موجود که نیاز به کمک دارد را از طریق وبسایتهایی مانند CodeTriage یا First Timers Only پیدا کنید و به آنها کمک کنید.
دانشآموزانی که میخواهند راهنمایی بیشتری برای ایجاد یک پروژه داشته باشند، میتوانند از یک سری دورههای پروژهمحور استفاده کنند. در اینجا نمونهای از گزینههای موجود وجود دارد (بسیاری از گزینهها در دسترس هستند، در این مرحله باید بتوانید مجموعهای را که برای شما جالب و مرتبط است شناسایی کنید) :
دوره های آموزشی | مدت زمان | تلاش | پیش نیازها |
---|---|---|---|
Fullstack Open | 12 weeks | 15 hours/week | programming |
Modern Robotics (Specialization) | 26 weeks | 2-5 hours/week | freshman-level physics, linear algebra, calculus, linear ordinary differential equations |
Data Mining (Specialization) | 30 weeks | 2-5 hours/week | machine learning |
Big Data (Specialization) | 30 weeks | 3-5 hours/week | none |
Internet of Things (Specialization) | 30 weeks | 1-5 hours/week | strong programming |
Cloud Computing (Specialization) | 30 weeks | 2-6 hours/week | C++ programming |
Data Science (Specialization) | 43 weeks | 1-6 hours/week | none |
Functional Programming in Scala (Specialization) | 29 weeks | 4-5 hours/week | One year programming experience |
Game Design and Development with Unity 2020 (Specialization) | 6 months | 5 hours/week | programming, interactive design |