Foundations of Computer Science: Theory and Practice

Course Feature
  • Cost
    Free
  • Provider
    Udemy
  • Certificate
    No Information
  • Language
    English
  • Start Date
    Self Paced
  • Learners
    No Information
  • Duration
    No Information
  • Instructor
    /
Next Course
4.2
9,900 Ratings
Computer Science is the foundation of modern technology. With the right knowledge and skills, you can create more efficient and effective programmes. SE Factory's offline courses provide a deeper understanding of computer science fundamentals, giving you the skills you need to succeed in coding interviews. Get ahead of the competition and expedite your application by filling out the form below. Start your journey to becoming a computer science expert today!
Show All
Course Overview

❗The content presented here is sourced directly from Udemy platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.

Updated in [June 30th, 2023]

This course provides a comprehensive overview of the fundamentals of computer science. Students will learn the skills necessary to create more efficient and effective programmes, as well as gain a deeper understanding of computer science fundamentals. Through this course, students will be able to prepare for coding interviews and expedite their application for SE Factory's offline courses. Topics covered include algorithms, data structures, programming languages, software engineering, and more.

[Applications]
After completing this course, students can apply their knowledge of computer science fundamentals to create more efficient and effective programmes. They can also use the skills they have learned to succeed in coding interviews. Furthermore, students can use the knowledge they have gained to expedite their application for SE Factory's offline courses by filling out the form provided.

[Career Paths]
One job position path that is recommended for learners of this course is a Software Engineer. Software Engineers are responsible for designing, developing, testing, and maintaining software applications. They use programming languages such as Java, C++, and Python to create software solutions that meet customer needs. They also work with databases and other technologies to ensure that the software is secure and reliable.

The development trend for Software Engineers is to become more specialized in certain areas. For example, some Software Engineers may focus on developing mobile applications, while others may specialize in developing web applications. Additionally, Software Engineers are expected to stay up-to-date with the latest technologies and trends in the industry. This means that they must be willing to learn new programming languages and technologies as they become available.

[Education Paths]
The recommended educational path for learners is to pursue a Bachelor's degree in Computer Science. This degree will provide students with a comprehensive understanding of the fundamentals of computer science, including programming languages, algorithms, data structures, operating systems, computer architecture, and software engineering. Students will also learn about the principles of computer networks, computer graphics, artificial intelligence, and computer security.

The development trend of this degree is to focus on the application of computer science in the real world. This includes the development of new technologies, such as machine learning, natural language processing, and robotics. Students will also learn about the ethical implications of computer science and the importance of data privacy. Additionally, students will gain an understanding of the impact of computer science on society and the economy.

Course Syllabus

Welcome to the Foundations of Computer Science!

Python, why we're using it in this course

Scalar objects, the simple types

The types of objects in Python

On types

Arithmetic operators

Arithmetic Operators

Variables, using names instead of just values

Operator precedence

Calculate the sum of two numbers

Handling input and output

Comparisons

Introducing Strings

Logic Operators

Control Flow - If statement

Selection

2.1- Square Root

Control Flow - Loops (while, for)

Control Flow - Break

Control Flow - While vs For

Repetition

2.2 - Odd elements

2.3 – Square of an Integer

2.5 - Cubic Root

2.4 - Perfect Number

Strings slicing and encoding

Variable scope and functions

Strings in depth

Introducing functions

Functions and recursion

Find sum recursively

Count digits recursively

Reverse a number

2.1 - Palindrome Strings

2.4 - Coprimes

Data structures introduction

Lists (part 1)

Tuples

Lists (part 2) - Aliases and Sorting

Dictionaries

3.4 - Boiling Point

3.2 - List Jumps

3.1 - Sieve of Eratosthenes

3.5 - Cycles

Exponential and Logarithmic Function Review

Algorithmic Complexity Rationale

Big O Notation (Part 1)

Big O Notation (Part 2) - Quadratic Complexity Example

4.2 - Permuted Strings

4.4 - Euclidean Distance

2.3 - Wolves and Deer

1.4 - Spiral Index

Bisection Search

Sorting Algorithms Intro

Bubble Sort

Selection Sort

5.2 - Permutation Cycle Length

5.4 - Matrix Search

5.3 - Fair Partition

Introduction to Classes

Linked List

Stack

Queue

Priority Queue

6.1 - List Mode

6.2 - Filtering Linked List

6.3 - Well Formed String

6.4 - Linked List Equality

6.5 - Lowest-K Elements

6.6 - Merging Linked Lists

Hash Table

Trees

Binary Search Tree (BST)

7.1 - BST Descending Order Traversal

7.2 - BST Element Filtering

7.3 - Reverse BST in Place

7.4 - BST Levels

7.5 - Balanced BST

Graphs

Depth First Search (DFS)

Breadth First Search (BFS)

8.4 - Depth in Graph

8.1 - Maze

8.3 - Clique

8.2 - Graph Cycle

Show All
Recommended Courses
free the-bits-and-bytes-of-computer-networking-4083
The Bits and Bytes of Computer Networking
4.5
Coursera 1,061 learners
Learn More
Learn the fundamentals of computer networking with this comprehensive course! Gain an understanding of networking technologies, protocols, and troubleshooting tools to help you build and maintain a successful network. Sign up today and start your journey to becoming a networking expert!
free computer-science-101-4084
Computer Science 101
1.5
Coursera 0 learners
Learn More
Discover the essential ideas of Computer Science with CS101! This course demystifies and brings to life the simple patterns that computers use, and provides a general background on computers today. With no prior experience required, students can play and experiment with short bits of code to explore the power and limitations of computers. Join us for a live, updated MOOC of this course at stanford-online July-2014. See here: http://cs101.class.stanford.edu/
free build-a-modern-computer-from-first-principles-nand-to-tetris-part-ii-project-centered-course-4085
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
2.0
Coursera 0 learners
Learn More
Learn to build a modern computer from first principles! In this project-centered course, you'll gain a deep, hands-on understanding of topics in applied computer science, such as stack processing, parsing, code generation, and memory management. With the help of the instructor and a community of learners, you'll build a virtual machine, a compiler, and an operating system. Get started today and take your skills to the next level!
free basic-computer-skills-for-the-workplace-in-2021-12-hours-of-free-tech-training-4086
Basic Computer Skills for the Workplace in 2021 - 12 Hours of Free Tech Training
2.5
Youtube 109,036 learners
Learn More
Are you looking to get ahead in the workplace? Kaceli TechTraining offers 12 hours of free IT training to help you get the basic computer knowledge you need to succeed. This comprehensive tutorial includes 5 Microsoft courses on the latest skills to get hired. Learn Microsoft Word, Excel, PowerPoint, Outlook, and Windows 11, and get the skills you need to ace any job interview or prepare for the MS Office certification. With working files and a free Minitool Partion Wizard, you'll be ready to take on the job skills of 2022 and beyond. Get started today and take your career to the next level.
Favorites (0)
Favorites
0 favorite option

You have no favorites

Name delet
arrow Click Allow to get free Foundations of Computer Science: Theory and Practice courses!