Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Foundations of Computer Science: Theory and Practice
Rating: 3.9 out of 5(778 ratings)
24,849 students

Foundations of Computer Science: Theory and Practice

Learn the fundamental topics of Computer Science and practice them for full mastery
Created bySE Factory
Last updated 5/2020
English

What you'll learn

  • Develop the ability to write better and more efficient programs
  • Have a better understanding of fundamental topics of Computer Science
  • Acquire necessary knowledge that will help you crack coding interviews
  • Fast track your application for SE Factory's offline courses

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

4 sections44 lectures4h 31m total length
  • Welcome to the Foundations of Computer Science!1:10
  • Python, why we're using it in this course2:39

    Explore computer science topics using the open-source BAHFEN language (version 3), learning variables, memory, and code order, with libraries for databases and servers.

  • Scalar objects, the simple types0:47

    Explain scalar types, including integers and booleans, and real numbers approximated as floats, and show the type function returning a value’s class.

  • The types of objects in Python0:48

    Explore how Python classifies objects into scalar types like integers, floats, and strings, and non-scalar types such as lists, dictionaries, sets, tuples, and user-defined classes.

  • On types
  • Arithmetic operators6:01

    Explore how integers and floats interact with arithmetic operators in Python 3, including addition, subtraction, multiplication, real division, integer division, the power operator, and modulo operations with examples.

  • Arithmetic Operators
  • Variables, using names instead of just values1:38

    Discover how variables in Python programming assign names to values, evaluate expressions before assignment, and store numbers, booleans, and other types under a variable name.

  • Operator precedence8:52

    Explore operator precedence in Python: power first, then multiplication and division, then addition and subtraction, with parentheses overriding order; learn how integers and floats interact, division rules, and remainder.

  • Calculate the sum of two numbers
  • Handling input and output3:33
  • Comparisons5:00

Requirements

  • Basic understanding of basic programming concepts
  • Basic understanding of high school mathematics

Description

  • Master a selection of Algorithms and how to analyze their performance using complexity analysis

  • Understand the different data structures like LinkedLists, Stacks, Queues, Trees, Graphs (etc.) and use them to solve problems efficiently

  • Learn these essential topics using Python. Python is easy and quite fun!


Study groups

Study groups will be organized in Beirut, Lebanon once a week during which you'll be able to go over the material that you didn't understand, ask questions and solve problems with our experts. Schedule will be sent to all students taking this course.


Who is this course for?

  1. Anyone who wants to learn the fundamental topics of Computer Science. A good understanding of Data Structures and Algorithms will take you a long way as a programmer

  2. As an enthusiast you will learn the ability to evaluate your code and optimize it for greatest efficiency. Data Structures will greatly enhance how you write your code and how to effectively store and manipulate data in memory

  3. As a former Computer Science or Software Engineering student this course will be a strong refresher


Enroll in this FREE course and you will learn:

  1. Python (Programming Language)

  2. Algorithms (Sort, Search, Binary Search Tree Insert/Delete/Search, Depth First Search, Breadth First Search)

  3. Complexity Analysis (Big-O)

  4. Data Structures (Linked List, Stack, Queue, Priority Queue, Trees, Graphs)

Who this course is for:

  • Anyone who wants to learn the fundamental topics of Computer Science
  • Computer Science or Software Engineering student who needs a refersher
  • Enthusiasts who want the ability to evaluate their code and optimize it for greatest efficiency