CS50: Introduction to Computer Science

This is cs50x.

An introduction to the intellectual enterprises of computer science and the art of programming in an online course from Harvard.

Harvard John A. Paulson School of Engineering and Applied Sciences

What You'll Learn

This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x , CS50, is Harvard's largest course. 

Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course–you may take CS50x on your own schedule.

The course will be delivered via edX and connect learners around the world. By the end of the course, participants will be able to:

  • A broad and robust understanding of computer science and programming
  • How to think algorithmically and solve programming problems efficiently
  • Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development
  • Familiarity in a number of languages, including C, PHP, and JavaScript plus SQL, CSS, and HTML
  • How to engage with a vibrant community of like-minded learners from all levels of experience
  • How to develop and present a final programming project to your peers

Your Instructors

David J. Malan

David J. Malan

Gordon McKay Professor of the Practice of Computer Science, Harvard John A. Paulson School of Engineering and Applied Sciences

Doug Lloyd

Senior Preceptor in Computer Science, Harvard University

Brian Yu

CS50 Recommended

"Harvard's Free coding courses are excellent. You need to take them." by Python Programmer. https://youtu.be/WwEcPcfRlD0?feature=shared

"I tried Harvard University's FREE CS50: Introduction to Computer Science course | CS50 review 2020" by Sunny Singh. https://youtu.be/DSA34lhJvw4?feature=shared 

"Learn To Code For FREE At Harvard University // CS50: Introduction To Computer Science Review" by Dorian Develops. https://youtu.be/He4jqZ2EjrE?feature=shared

Ways to take this course

When you enroll in this course, you will have the option of pursuing a Verified Certificate or Auditing the Course.

A Verified Certificate costs $219 and provides unlimited access to full course materials, activities, tests, and forums. At the end of the course, learners who earn a passing grade can receive a certificate. 

Alternatively, learners can Audit the course for free and have access to select course material, activities, tests, and forums.  Please note that this track does not offer a certificate for learners who earn a passing grade.

Have Questions?

Can I enroll in this course if I'm not a programmer? Are there any prerequisites? Learn the answers to these and more in our FAQs.

Course FAQs

Related Blog Posts

Top harvard online courses for recent graduates.

Courses for high school and college graduates looking for their next step.

The Benefits and Limitations of Generative AI: Harvard Experts Answer Your Questions

Harvard experts in education and technology share their thoughts and insights on the impacts of new artificial intelligence and machine learning on education, society, and industry.

Pros and Cons of Big Data

Learn how big data revolutionizes healthcare, public services, education, and social initiatives while addressing challenges like data privacy, implementation costs, and bias.

Introductory Courses for Anything You Want to Learn in 2023

Maybe you’ve wanted to learn something for years and you’ve just never found the chance? We’re here to help you begin on your learning path!

Related Courses

Cs50's introduction to programming with scratch.

A gentle introduction to programming that prepares you for subsequent courses in coding.

CS50's Introduction to Programming with Python

Join Harvard Professor David J. Malan in this online course that will introduce you to programming using Python, a popular language for data science and more.

CS50's Introduction to Cybersecurity

An introduction to cybersecurity for technical and non-technical audiences alike in an online course from Harvard.

Data Science Principles

Data Science Principles gives you an overview of data science with a code- and math-free introduction to prediction, causality, data wrangling, privacy, and ethics.

Data Privacy and Technology

Explore legal and ethical implications of one’s personal data, the risks and rewards of data collection and surveillance, and the needs for policy, advocacy, and privacy monitoring.

CS50: Introduction to Computer Science

An introduction to the intellectual enterprises of computer science and the art of programming.

CS50x

Associated Schools

Harvard School of Engineering and Applied Sciences

Harvard School of Engineering and Applied Sciences

What you'll learn.

A broad and robust understanding of computer science and programming

How to think algorithmically and solve programming problems efficiently

Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development

Familiarity with a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML

How to engage with a vibrant community of like-minded learners from all levels of experience

How to develop and present a final programming project to your peers

Course description

This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x , CS50, is Harvard's largest course. 

Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course–you may take CS50x on your own schedule.

Instructors

David J. Malan

David J. Malan

Doug Lloyd

You may also like

CS50T

CS50's Understanding Technology

This is CS50’s introduction to technology for students who don’t (yet!) consider themselves computer persons.

CS50W

CS50's Web Programming with Python and JavaScript

This course picks up where CS50 leaves off, diving more deeply into the design and implementation of web apps with Python, JavaScript, and SQL using frameworks like Django, React, and Bootstrap.

CS50L

CS50 for Lawyers

This course is a variant of Harvard University's introduction to computer science, CS50, designed especially for lawyers (and law students).

What You Need to Know About Becoming a Computer Science Major

Computer science majors are strong logical thinkers and problem solvers who use computers and computational processes to build websites, mine data and more.

Becoming a Computer Science Major

Cropped shot of a IT technician working on his laptop while standing inside of a server room

Getty Images

Students in a computer science major enter the dynamic world of technology, studying topics like artificial intelligence, software design and computer graphics. By the time majors complete their degrees, they will have the skills to examine complex problems with computer tools.

What Is a Computer Science Major?

Computer science is a major for problem-solving students who want to learn how to use computers and computational processes to build websites, program robots, mine data and more. Computer science majors may go on to master’s or doctorate programs in the field, and they can work in research and industry. Students will gain experience with the theory and practice of computer science as they explore algorithms, programming languages and operating systems, for example.

In classes, majors may apply their learning to topics like computational finance, robotics and network security. Undergraduates may be able to access internships and research opportunities through their programs.

Computer science major vs. computer engineering major: What’s the difference?

Computer science and computer engineering are separate computing majors that both study the hardware and software of computer systems. Computer science, with its deep foundation in mathematics, focuses on the theory behind programming, computation and operating systems.

Computer engineering is the study of engineering applied to computers and computer systems. While a computer engineering major is rooted in the practical use and development of computers, a computer science major teaches students how to design operating systems, for example, that run on the machines computer engineers create.

Common Coursework Computer Science Majors Can Expect

Computer science majors must study calculus to earn their degrees. Other relevant math courses include statistics and linear algebra. Introductory computer science classes cover topics like algorithm design, computer organization and abstract data types. After students develop a strong foundation in the major, they can move on to more complicated courses related to data visualization, neural networks and cryptography, among other subjects.

At some schools, students may choose to pursue either a Bachelor of Arts or a Bachelor of Science in computer science. The B.A. contains fewer required classes and may be more relevant for students who plan to work in another field after college. Many degree programs make it possible for students to combine computer science with another discipline, like architecture, electrical engineering or molecular biology. Students interested in research can seek out opportunities with faculty members, develop independent projects and look into relevant coursework.

How to Know if This Major Is the Right Fit for You

Strong logical thinkers excited by the idea of entering a challenging field might think about majoring in computer science. If you’d be eager to contribute to innovative research that boosts cybersecurity, creates virtual reality or trains machines, computer science may be the right fit for you.

Even if you don’t see yourself becoming a researcher, a computer science degree could still be a good choice. Career paths in the field span industries from fashion to information technology, with jobs for computer scientists available in data science, software engineering, application development and more. If you’re an adaptable problem solver or hope to become one, you may want to consider courses in computer science.

Pick the Perfect Major

Discover the perfect major for you based on your innate wiring. The Innate Assessment sets you up for success by pairing you with majors, colleges and careers that fit your unique skills and abilities.

coursework computer science

What Can I Do With a Computer Science Major?

Computer science has applications in all kinds of industries, including transportation, entertainment and medicine. With so many possible landing places, you can likely find your niche.

A major in computer science can open positions in data analytics, web development and consulting, for example, and jobs are available at companies ranging in size from small startups to large corporations. The major’s focus on programming skills prepares students to work as a computer system analyst, for example, who helps organizations use IT systems more efficiently. For a career path like this that works with more advanced systems, a student may benefit from earning a master's in computer science or a master's in computer information systems . Those interested in the systems used to store, organize and secure data can use their knowledge of programming languages to become a database administrator.

A computer science program can also prepare students to become information security analysts, who use software to protect organizations’ network security. A certification, like the CompTIA Security+ certification, can give prospective IT professionals’ resumes a boost, as it certifies you have the necessary skills to work in a cybersecurity career.

Those interested in becoming computer programmers can gain certifications in specific products and programming languages, and some companies require that computer programmers are certified in the areas in which they work, according to the Bureau of Labor Statistics. Those just entering the field may want to consider a program that doesn't have any prerequisites, such as the Certified Entry-Level Python Programmer or the C Programming Language Certified Associate Certification .

Students can also consider graduate study in the field. There are master’s options for those interested in industry positions as well as doctorate paths for those more likely to pursue research. When hiring a software developer – a role involving the planning and designing of software based on user needs – employers may prefer candidates who have a master’s degree.

Job opportunities in computer science are on the rise, so majors should have plenty of options. See the table below for jobs computer science majors can consider after earning a bachelor's or master's degree.

Data is sourced from the U.S. Bureau of Labor Statistics .

What Computer Science Majors Say

“I would say don't hesitate to take your first comp sci class. I began in my sophomore year, and even though many peers were ahead, the introductory course was interesting and manageable, and it is fun to tackle those projects. Give it a shot.”

– Cathy Chen , a junior at Colgate University, class of ‘25, a computer science and economics major, and a member of the Colgate Coder club.

“Being a computer science student can definitely be challenging at times, but it’s a worthwhile challenge. It’s a journey of exploring and problem solving. There’s a level of satisfaction that comes from exploring complex algorithms, developing innovative software, and understanding the intricate world of technology. Some advice I would give to new students is to not be afraid to explore new fields they’re interested in and to not be scared of making mistakes. I would also say to stay curious and keep exploring as technology is advancing every day. In my experience with student organizations like Women In Cybersecurity and Girls Who Code, these organizations are very helpful in encouraging minorities such as women to continue their studies in the field.”

– Daniyah Taimur , a junior at the University of Maryland, class of ‘25, a computer science and economics major, and a mentor of Girls Who Code UMD.

Schools Offering a Computer Science Major

Check out some schools below that offer computer science majors and find the full list of schools here that you can filter and sort.

2024 Best Colleges

coursework computer science

Search for your perfect fit with the U.S. News rankings of colleges and universities.

College Admissions: Get a Step Ahead!

Sign up to receive the latest updates from U.S. News & World Report and our trusted partners and sponsors. By clicking submit, you are agreeing to our Terms and Conditions & Privacy Policy .

Ask an Alum: Making the Most Out of College

You May Also Like

Should students submit test scores.

Sarah Wood May 13, 2024

coursework computer science

Poll: Antisemitism a Problem on Campus

Lauren Camera May 13, 2024

coursework computer science

Federal vs. Private Parent Student Loans

Erika Giovanetti May 9, 2024

coursework computer science

14 Colleges With Great Food Options

Sarah Wood May 8, 2024

coursework computer science

Colleges With Religious Affiliations

Anayat Durrani May 8, 2024

coursework computer science

Protests Threaten Campus Graduations

Aneeta Mathur-Ashton May 6, 2024

coursework computer science

Protesting on Campus: What to Know

Sarah Wood May 6, 2024

coursework computer science

Lawmakers Ramp Up Response to Unrest

Aneeta Mathur-Ashton May 3, 2024

coursework computer science

University Commencements Must Go On

Eric J. Gertler May 3, 2024

coursework computer science

Where Astronauts Went to College

Cole Claybourn May 3, 2024

coursework computer science

Unlocking knowledge, Empowering Minds.

coursework computer science

Chalk Radio: a podcast about inspired teaching at MIT

Latest episode: the kitchen cloud chamber with prof. anne white.

coursework computer science

Another year of great growth and learning

Opencourseware looks to 2024 and beyond.

coursework computer science

MIT Open Learning Library

Free courses with interactive content from MIT OpenCourseWare and MITx.

Featured courses.

coursework computer science

Discover Collections

OCW offers course content and materials related to a wide range of collections. Below are some topics available for you to explore:

Africana Studies

Entrepreneurship

Environment & Sustainability

Introductory Programming

Introductory Science and Math

Transportation

New Courses

coursework computer science

Your Donation Makes a Difference

coursework computer science

Celebrate Women’s History Month with free online courses from MIT

coursework computer science

A Beginner’s Guide to Open Learning at MIT

What is love celebrate valentine’s day with a collection of free mit courses, entrepreneur creates career pathways with mit opencourseware, free unexpected mit courses to kick start the new year, what is love celebrate valentine’s day with a collection of …, ocw stories, our corporate and foundation supporters.

Ab Initio

10 Best Computer Science Courses to Take in 2022

Elham Nazif

Are you looking for the best introductions to computer science? I’ve ranked the top courses available online, following a robust methodology. And they're all free to audit. You can read about it below.

But if you’re in a hurry, here are my top picks. Click on one to skip to the course details:

What is Computer Science?

The definition of computer science is almost as broad as the definition of physics. So, to say that computer science is the study of computers and computing concepts is just as 'useful' as saying that physics is the study of nature and its phenomena.

Instead, I’ll tell you the main subfields of computer science that most universities include in their syllabus.

  • Computer architecture and organization naïvely ponders: ‘How do I design a computer?’
  • Programming steps in and questions: ‘But how will the computer understand the human?’
  • Operating systems interjects: ‘Hold on, how should the human interact with the computer?’
  • Data structures and algorithms chirps in: ‘After you've figured that out, how do we store and compute data efficiently?’
  • Networking and communication waits politely before inquiring: ‘So that’s all cool, but how can we make computers talk to each other?’

You get the gist. I’m sure you’ve had one of these intriguing thoughts pop up in your mind before. Luckily, these are the questions that computer science tries to answer.

By studying computer science, you can become a better programmer. Just as a veterinarian is likely to understand animals better than the average pet owner, by studying computer science, you can get a better grasp of the features, abilities, and limitations of these awesome code-running machines that we call ‘computers’.

Course Ranking Methodology

I followed a three-step process to build this ranking:

First , let me introduce myself. I’m part of Class Central , the leading search engine for online courses. I ( @elham ) built this ranking in collaboration with my friend and colleague @manoel , following the same approach we used with some success in our previous rankings of the best Python courses and best machine learning courses . At this point, I’d say it’s a pretty robust method.

We started building this ranking by looking at our database of 50K+ online courses . We were interested in things like ratings, reviews, and course bookmarks. This allowed us to make an initial selection. So this phase was purely data-driven.

This tentative first step rapidly helped surface some of the best options available out there. Word of mouth is very effective in online learning. Good courses get noticed. And the very best gather a lot of attention, and raving reviews.

That said, reviews don’t always tell the whole story. In fact, some courses are so good at grabbing the spotlight early on that other excellent resources can go unnoticed. So the next step was to bring our personal knowledge of online education into the mix.

Second , we used our experience as online learners to evaluate each of our initial picks.

We both come from computer science backgrounds and are prolific online learners, having completed about 45 MOOCs between us. Additionally, Manoel has an online bachelor’s in computer science , and I am currently completing my foundation in computer science.

Manoel gathered the courses while I wrote the article you’re currently reading. Throughout this process, we bounced ideas off each other and made iterative improvements to the ranking until we were both satisfied with the end result.

Third , during our research, we came across courses that felt well-made but weren’t well-known. If we adopted a purely data-centric approach, we would have to leave those courses out of the ranking, if only because they had fewer enrollments and ratings.

But no. This ranking is deliberately opinionated and holistic. When we felt confident that a course was worth including, even when the course might not yet have quite as many reviews as some of its competitors, we went with our gut and included it.

We also spiced up the list by including a wide variety of computer science courses that will hopefully cater to the diverse range of learners, whether you’re a true beginner or someone with some foundations in computer science, or an interest in specific topics like math.

After going through this process — combining Class Central data, our experience as lifelong learners, and lots of editing — we arrived at our final ranking. So far, we’ve spent more than 10 hours building this ranking, and we intend to continue updating it in the future.

Course Ranking Statistics

Here are some aggregate stats about the ranking:

  • In total, the courses in this ranking accumulated over 5 million enrollments with 2 courses having over 1 million enrollments each.
  • The most popular course in the list has 3.5 million enrollments.
  • All of the courses in this ranking are either entirely free, or free to audit.
  • With 4 courses each, edX and Coursera are tied for the most represented provider in this ranking.
  • Around 480k people are following Computer Science Courses on Class Central .

Without further ado, let’s go through the top picks.

1. CS50's Introduction to Computer Science (Harvard University)

Banner-2

My first pick has to be CS50's Introduction to Computer Science , offered by Harvard University on edX. Launched on edX in 2012, CS50 is the computer science course on the internet. It is famous for its splendid production quality and its yearly curriculum updates.

It provides a succinct but comprehensive overview of what computer science is all about. Whether you are a newbie who has never heard of ‘Hello World!’, or a programmer who knows a thing or two about computers, you’ll come out of this course having learned something new.

One Thing to Note

Although the course exercises come in two versions, easy and challenging, I found that even the easy exercises can be a bit tricky. If you know nothing about programming, I’d recommend you find someone to study this course with.

Fortunately, CS50 has one of the largest and most active course communities online: check their Discord .

Or if you’re looking for a shorter, more practical course, you might want to have a look at my Python ranking , which includes some gentler on-ramps into the world of programming.

The Instructor

We can't discuss CS50 without bringing up David J. Malan , the Harvard professor that teaches the course. Rarely has an instructor been so instrumental to the success of a course.

Beyond being an excellent educator, Prof. Malan is a true entertainer, with near-perfect delivery. And when you’re tackling an academic course that may take you dozens of hours to complete, having an instructor capable of capturing the learner’s attention makes a huge difference.

So if despite a sincere desire to learn, you find yourself falling asleep while taking online courses, this might just be the course for you. Prof. Malan’s energy is contagious!

What You’ll Learn

The course begins with the premise that computer science is, at its core, problem solving. It introduces you to binary, the fundamental language of computers, and explains how sequences of 1s and 0s can somehow represent text, images, videos, and even sounds.

You’ll learn that algorithms are step-by-step instructions designed to solve a problem. The most common type of algorithms you’ll deal with throughout the course are algorithms for sorting and searching , like bubble sort, merge sort, and binary search.

You may wonder, ‘What’s the point of having many different algorithms if they all do the same thing?’. This is when you’ll learn about measuring the efficiency of an algorithm with Big O notation .

The first programming language the course teaches is the beginner-friendly language Scratch. Through block-based coding, you'll use Scratch to illustrate fundamental programming concepts like functions, conditional statements, boolean expressions, loops, and variables.

Later in the course, you’ll notice that these fundamental concepts keep coming up time and again, since they can be found in pretty much every programming language that CS50 will teach you.

The course then removes your training wheels and drags you down into the depths of low-level programming languages. By “low-level”, I don’t mean “less valuable”. In computer science, low-level programming languages are languages that are close to machine code: the closer they are to machine code, the “lower” they are.

Assembly language is as close as we get to binary, and the course will briefly discuss it. But our first deep dive into traditional programming (writing lines of code instead of arranging colorful blocks like with Scratch) will be with C, a low-level programming language where you'll manage memory by hand and implement your first data structures.

You’ll learn that computers store data in sequences of locations in memory, and how computers can locate and access data with addresses and pointers. You’ll also learn about the different ways we can create and store lists of values, like arrays, linked lists, and trees.

You’ll compare the advantages and disadvantages of each data structure. For example, hash tables can be accessed in constant time, but require mitigating the risk of data collision.

You’ll then be brought back up to the surface towards “higher-level” programming, where you’ll be able to comfortably breathe as you begin working with Python, and continue jumping from topic to topic.

You’ll explore SQL, the programming language of many databases. The final weeks of the course culminate in you building and designing an interactive website with HTML, CSS, JavaScript, and a Python framework called Flask.

How You’ll Learn

The course is ten weeks long, plus an open-ended final project that might take an extra week (or more, if you want to work on something really ambitious).

The course is recorded annually on-campus at Harvard before being launched online the following Spring. While the recording is ongoing, you might be able to join via live stream with a hundred other learners, or if you live near campus, even attend in person — though the pandemic might preclude this for the foreseeable future. Otherwise, you’ll have access to on-demand recordings on edX or via Harvard OCW .

Regarding assessments, you’ll complete ten problem sets, eight labs, and a final end-of-course project that you’ll have to design and come up with yourself or with a team. You’ll be able to code and submit these via a convenient in-browser VS Code-based editor.

CS50 Lineup

A lot of people have heard about CS50’s Introduction to Computer Science, but not many realize that there are 10 other courses under the CS50 brand. A few follow-up courses worth mentioning are:

  • Introduction to Artificial Intelligence with Python
  • Introduction to Game Development
  • Web Programming with Python and JavaScript

What’s even better: many of these courses offer a free certificate. If you’d like to know more about the CS50 courses, and how to get a free certificate, you can read Manoel's CS50 guide .

  • The course instructor David J. Malan has been teaching CS50 for 15 years , first on-campus at Harvard, and on edX since 2012 .
  • CS50 has been bookmarked around 30k times and has over 100 reviews on Class Central.
  • Every year, CS50 organizes Puzzle Day , a friendly problem-solving competition where you’ll have the opportunity to collaborate with learners worldwide.
  • CS50 is a part of both our list of most-popular courses of all time and best free courses of all time .
  • David J. Malan was the founder and chairman of Diskaster, a hard drive and memory card data recovery firm. One of the exercises in the course is a nod to his previous work .
  • CS50 is the longest course on this ranking, owing to its comprehensiveness.

If you're interested in this course, you can find more information about the course and how to enroll here .

2. Computational Thinking for Problem Solving (University of Pennsylvania)

Banner-7

My second pick would be Computational Thinking for Problem Solving from the University of Pennsylvania on Coursera.

This course focuses on the skills underlying computer science  — computational thinking.

Computational thinking is the process of breaking a problem into parts, and then coming up with a resolution method that can be carried out by a computer.

Once you’ve embraced computational thinking, you’ll be in the right mindset to tackle additional computer science courses. So you could see this course as a foundation before the foundation. That said, if your interest lies in problem solving per se rather than CS as a whole, this course should also be a great fit.

You do not need any prior experience with computer science or programming to take this course, although some basic high school mathematics would be useful.

The course covers four main topics: computational thinking, algorithms, computer architecture, and Python.

First, the course outlines the four pillars of computational thinking. You’ll begin with decomposition, breaking down a complex problem into smaller, simpler problems. Then through pattern recognition, you’ll compare the problem to other similar problems that have been solved previously.

Afterwards, during data representation and abstraction, you’ll simplify the problem even more by identifying what characteristics of the problem are important and filtering out those that are not.

The last pillar of computational thinking, algorithms, forms the second section of the course. The course defines algorithms as a set of step-by-step instructions to solve a problem. With algorithms, you can teach the computer how to solve problems without explicitly telling them precisely how. Instead, your algorithm will be able to handle a number of different cases, as long as these satisfy some preconditions.

You’ll explore a variety of algorithms, like linear and binary search. You’ll learn how to represent algorithms with flowcharts, analyze the complexity of algorithms (Big O), and calculate the number of possible solutions to an optimization problem. Lastly, you’ll compare the benefits and limitations of common algorithmic approaches to problem solving.

The third part of the course gives a brief history of computers, before settling on the computer architecture used by modern computers — the Von Neumann Architecture. 

It consists of three fundamental units: the memory, CPU, and I/O. You’ll learn how data and instructions are stored and accessed in computers as bits and bytes, and also how executing code amounts to moving pieces of data in memory and operating on it in the CPU.

In the fourth and final section, the course will instruct you on the basics of Python programming. You’ll explore iterations, classes, and debugging. And you’ll end the course by coding your own Python program, where you’ll get to implement the algorithms you learned previously into code.

The course is 4 weeks long, with each week having about 18 hours of course material. You’ll learn primarily from video lectures, and after each video there’ll be a short quiz to test your recall. There is supplementary material available on math, for those not-so-confident in their mathematical abilities.

At the end of each week, you’ll be presented with a case study where you’ll see examples of computational thinking used to solve real-life problems. Afterwards, you’ll complete a project where you’ll apply what you’ve learned. Do note that the assessments in this course are for verified learners.

  • This course is endorsed by Google , which decided to make it part of its Digital Garage, a collection of courses and resources for learners wanting to gain tech skills.
  • Penn’s Prof Susan Davidson, the course instructor, was named a Fellow of the American Association for the Advancement of Science in 2021.
  • Prof. Davidson also teaches some of the courses of Penn’s Master of Computer and Information Technology (MCIT), which is offered online through Coursera.

3. Introduction to Computer Science and Programming Using Python (Massachusetts Institute of Technology)

Banner-8

My third pick for the best computer science course is Introduction to Computer Science and Programming Using Python , offered by MIT on edX.

This course approaches the field of computer science and programming through Python. The course focuses on breadth rather than depth, giving students background knowledge on the numerous applications of computation.

So this course is similar to our first pick in that it’s a survey course: it covers a lot, but not in great detail. But it’s dissimilar in that it focuses entirely on one programming language, Python, while Harvard’s course involves multiple languages.

Depending on your goals, this focus on Python could be seen as a positive or a negative. For what it’s worth, I believe Python is an excellent first programming language.

Heads up! This course tries to mirror the MIT on-campus experience, so don’t expect it to be a cakewalk. You won’t need any prior experience with computer science or programming to take it, but you’ll need a background in high school mathematics.

The main topics the course explores are computational thinking, data structures, iteration and recursion, decomposition, abstraction, and algorithms and complexity.

You’ll be given a brief introduction to computation and computational thinking. You’ll learn what computers are, how they work, and what their limitations are.

By understanding that computers only know what you tell them (and what they can infer from what you tell them), you’ll realize that in order for the computer to accomplish a task, they need a ‘recipe’ containing a sequence of instructions they should follow. This is what computer scientists call an algorithm.

Your programming journey begins by learning Python and its basic syntax. With Python, you’ll explore concepts common to most programming languages. These include variables, conditional statements, and control flows.

Furthermore, you’ll be introduced to functions and the role they play in decomposition, abstraction, and recursion, which are concepts fundamental to problem-solving in computer science.

By then, you should be able to code simple programs that can come up with approximate solutions to difficult math equations through a guess-and-check method.

Lastly, you’ll learn about the different ways we can represent information in Python, called data structures. You’ll work with lists, tuples, and dictionaries, and understand when to use one data structure over another.

The course is 9 weeks long with an expected workload of 14 to 16 hours each week. The main mode of learning is video lectures, and the course includes plenty of activities to put your hard-earned skills into practice. You’ll also have access to a learner’s forum where you can discuss with fellow learners.

There are 3 problem sets containing challenging coding exercises that will help you solidify your knowledge. If you are a verified learner, you’ll have to complete a timed mid-term and final exam in order to receive your certificate.

  • This course has over 18k bookmarks and 120 reviews on Class Central.
  • It is the first of a two-course XSeries Program on edX. The second is Introduction to Computational Thinking and Data Science , which could make for a good follow-up.
  • One of the instructors, Professor John Guttag, leads the Data Driven Inference Group at MIT’s legendary Computer Science and Artificial Intelligence Laboratory (CSAIL).

4. Principles of Computing (Part 1) (Rice University)

Banner-4

Principles of Computing (Part 1), by Rice University on Coursera, is my fourth pick for the best computer science introduction. The course emphasizes doing rather than watching, requiring you to complete many coding assignments.

This course aims to help you step up your programming skills by teaching you computational problem solving, a skill that underlies computer science, and that was also the focus of our second pick . This will involve learning important programming practices and developing a mathematical foundation for problem solving.

To take this course, you’ll need to be comfortable with writing small (100+ lines) programs in Python, as well as have some background in high school mathematics. So this one doesn’t start from scratch, and is therefore geared toward learners that also have some basics down.

If you’re looking for a problem solving course with fewer prerequisites, you might want to have a look at our second pick .

The course includes refreshers on Python, code testing, probability and randomness, combinatorics, and function growth.

After a brief review of Python, the course will explain how to build tests, and why having tests for your Python programs can be useful.

Many programmers dislike or don’t simply bother to write tests for their code, but as one of the instructors explains, it’s a best practice worth treating as an integral part of the programming process.

Writing tests will help you save time and effort, and serves as a reusable sanity check that your program actually does what it’s supposed to do. For your first mini-project, you’ll recreate the well-known game 2048 in Python.

Then, the course moves on to the role of probability and randomness in computer science. You’ll learn how to identify unreasonable outcomes in probability, along with calculating the expected value of multiple outcomes.

For example, what’s the chance that a die would roll seven sixes out of ten tosses? And if that were to happen, to what extent could we conclude that the die is weighted — that is, that the rolls were unfair?

You’ll also see how we can use Python to simulate the probability of outcomes, a valuable tool used in statistical modeling. And for your second mini-project, you’ll work with probabilities to create an opponent that you can face in a game of Tic-Tac-Toe.

The course also touches on combinatorics, which deals with enumerations, permutations, and combinations. You’ll figure out how to calculate the total number of ways an event can play out.

This helps greatly in calculating the number of steps an algorithm would take, thereby allowing you to estimate the running time of the algorithm, and in turn, determine if the algorithm would be worth implementing. You can see why combinatorics plays a major role in password and computer security. For your third mini-project, you’ll code the familiar dice game Yahtzee .

In the final part of the course, you’ll be taught the importance of counting in solving complex problems. Counting answers the question of how long an algorithm might take to run given a task. Another name for counting you might be more familiar with is “time complexity”.

You’ll also learn about higher-order functions in Python, that is functions that take other functions as algorithms, like the map function. In your last mini-project, you’ll use these concepts to make your own version of Cookie Clicker .

The course is split into 5 weeks, with each week involving 7 to 10 hours of study. You’ll learn primarily through video lectures and graded assignments, although the course does supply supplemental notes and activities for further reading and practice.

You’ll code and submit the homework and mini-projects on their companion website CodeSkulptor , and in-browser code editor that will preempt the need of setting up a local coding environment.

  • The course has around 15k bookmarks on Class Central.
  • This course is the third of seven courses that make up the Fundamentals of Computing Specialization . Upon receiving the specialization certificate, you’ll have completed 20+ projects, including a capstone project.
  • If you’re not interested in taking a full specialization after this course, but you’d like to learn more about the course topic, as the course name implies, there’s a follow-up course: Principles of Computing (Part 2) .
  • Course instructor Prof. Scott Rixner is faculty director of two online degree programs at Rice University. So his dedication to online education extends beyond the scope of his own MOOCs.

5. Computer Science 101 (Stanford University)

Banner-5

Computer Science 101 aims to demystify the magic of computers by demonstrating that they work by following a few relatively simple patterns.

This course will help you become familiar with those patterns. It will give insights into how computers work and what their limitations are.

In addition, the course delves into networking and other major topics within CS. No prior knowledge of computer science required!

The course starts off with the fundamental equation of computers: Computer = Powerful + Stupid. Computers are powerful because they can perform billions of operations per second. But they are stupid because they need someone to tell them what to do. This is where programmers come into play.

This course uses small snippets of JavaScript to introduce you to programming and other computer science concepts. You’ll gain a grasp of programming concepts like variables, loops and iterations, conditional statements, and so on. The course later covers low-level and high-level languages, as well as compilers and interpreters.

The computer is a tool and the programmer wields the tool. Therefore, to program efficiently, it is important to understand how the tool works. The course covers many aspects of said tool, including hardware. You’ll learn about the parts that make up a computer, and look at how computers can represent different information formats.

The main format you’ll work with is images. One of the things you’ll do is “greenscreen” images as well as turn coloured images into grayscale by operating at the individual pixel level.

Another topic the course covers is computer networks, which is how computers communicate with one another. You’ll learn about the different types of networks.

You’ll study what IP addresses are and how they allow computers to locate each other. The course discusses how computers transmit information through data packets, and also the communication protocol the Internet runs on  —  TCP/IP.

The course also briefly covers a variety of other topics like databases and spreadsheets, computer security, and analog and digital data.

The course is 6 weeks long, with each week taking 4–6 hours to complete. Lessons are provided through video lectures and are supplemented with notes and assessments. However, you’ll need to be a verified learner to access the assessments.

  • The instructor acknowledges Google for supporting his early research into creating the class. I think this goes for all of us!
  • This course has 3k bookmarks on Class Central.
  • The course instructor Nick Parlante’s current interest is in CodingBat Java , an experimental online code-practice tool.

6. How Computers Work (University of London)

Banner-6

This concise course taught by the University of London on Coursera touches on a few key topics in computer science, but it is mostly interested in helping you build a foundational understanding of hardware. It’s in the title really: by the end of the course, you’ll know how computers work.

And through that understanding, you’ll also form a clearer picture of how computers can be leveraged to help solve everyday problems.

The course is just as suitable for someone wanting to build solid foundations for further study in CS, as it is for someone simply curious about how computers work and wanting to explore some key CS topics but not necessarily a deep dive.

You do not need any prior knowledge of computer science to take this course.

This course covers computer hardware, abstraction, modularity, computer networks and communication.

The course begins with abstraction — the art of drawing attention to the important details while filtering out the noise. Many disciplines rely on abstraction, and computer science does so heavily, both at the hardware and software levels.

This concept will become apparent when the course starts discussing computer hardware, like memory, CPU, and other devices. You’ll use notional machines as means for capturing these abstractions.

Afterwards, you’ll move on to another key idea: state and modularity. This will help you answer the question, ‘Why does turning off and on my computer fix most problems?’

Using notional machines, you’ll explain how computer applications function by transitioning through different states, and how modularity allows them to interact with other applications. You’ll learn how to debug stuff, a very useful skill indeed.

Moving on, you’ll learn how computers talk to one another over the Internet through networks and communication protocols. You’ll also learn about the kinds of security threats computers (and users) face, and how to protect yourself from malicious actors.

Lastly, you’ll explore basic web development. By applying your new-found knowledge of abstraction, state, and modularity, you’ll be able to clearly understand how websites work.

The course is 4 weeks long, with 10 hours worth of material per week. It consists of video lectures and quizzes to test your knowledge of the material. You’ll have the chance to share your thoughts in discussion prompts.

  • The course instructor, Prof. Marco Gillies , is the Academic Director of Distance Learning at Goldsmiths, University of London.
  • This course is an introduction to the University of London’s Online Bachelor of Computer Science , offered on Coursera.
  • It is course two out of three of the Introduction to Computer Science and Programming Specialization , with the first course being Introduction to Computer Programming .

7. CS50's Understanding Technology (Harvard University)

Banner-1-1

This is another course from the CS50 family. But unlike our first pick, which is the main CS50 course, this course is for those who work with technology everyday but don’t understand how it all works under the hood or how to solve problems when something goes wrong. And it’s also for those who don’t (yet) work with technology — most notably, computers — but would nonetheless like to understand its functioning.

The course aims to fill in the gaps in your knowledge of hardware, internet, multimedia, programming, and web development, preparing you for the technology of today and tomorrow.

This course has no prerequisites.

The course begins with an introduction to the language of computers, binary. It explains how computers use binary to represent text and other information. Then, you’ll move on to the hardware of the computer: CPU, RAM and Main Memory. You’ll learn about the functions of each of these components.

The course discusses Internet and multimedia, and the technologies underpinning them. It’ll tell you how computers can find and talk with one another. You’ll learn about the common Internet protocol TCP/IP and more.

You’ll learn about the different data representations of multimedia, like audio, images, and video. There are many file formats and compression techniques – the course will give you an overview of some of the main ones.

Next, you’ll be taught how to stay safe on the Internet. You’ll discover several ways to protect your data and privacy. This section will include lessons on cookies, passwords, two-factor authentication, encryption, and more.

You’ll continue with the basics of web development. You’ll learn how web browsers access the web with HTTP requests. Have you ever seen a 404 or 500 error when trying to visit a webpage? You probably have. Well, in this course, you’ll learn what these errors mean. A brief overview on the languages that allow us to build and style web pages, HTML and CSS, is provided.

Last by not least, you’ll discover the basics of programming. You’ll primarily use the block-based language Scratch to explore concepts common to pretty much all programming languages, like variables, expressions, loops, and so on.

Additionally, to demonstrate what an algorithm is (and more specifically the divide-and-conquer paradigm ), you’ll watch the instructor tear a phonebook into halves… I had to mention this because it is both very instructive and memorable!

The course is 6 weeks long, with each week taking 2 to 6 hours to complete, depending on your prior familiarity with the content. Each week contains at least one hour of lecture.

Regarding assessments, you’ll have to complete an assignment for each of the six topics presented in the course to earn a certificate.

  • After taking this course, you’ll be more than ready to tackle CS50, our #1 pick .
  • This course has 1.6k bookmarks on Class Central.
  • Another fact about David J. Malan, the course instructor: he is an active member of the SIGCSE , the arm of the ACM concerned with computer science education.

8. Intro to Theoretical Computer Science (Udacity)

Banner-2-1

For those who have some familiarity with programming and algorithms, and want to further their understanding of problem-solving in computer science, this rigorous but insightful course might be what you’re looking for.

Offered by Udacity, Intro to Theoretical Computer Science explores what makes a problem ‘hard’ to solve, even for a computer. Then, it shows how to reduce and simplify these ‘hard’ problems to make them easier to solve through computation.

The course covers two main areas of theoretical computer science: complexity theory and computability.

Complexity theory asks how much of its resources, like time or memory, will a computer require to solve a problem. Computability, on the other hand, asks if a computer can solve a problem at all, even when given more time and memory.

The course introduces you to a variety of real-world problems from telecommunication, bioinformatics, and finance. You will recognize what makes a problem challenging, and the value of recognizing such problems. This will prime you for understanding what NP-completeness is. Then, you’ll understand what makes a problem ‘hard’ to solve, and be able to prove it.

The rest of the course discusses what to do with the problem once we’ve proved that it is hard (or even impossible to solve).

One of the ways to overcome this obstacle is to employ efficient, intelligent algorithms. Another way is to accept that the problem may not be perfectly solvable, and instead find an approximate solution. And yet another way is to use randomness and probability to poke around and find a solution.

You’ll be able to describe and use these techniques in practical situations: the course discusses the theory but it’s also hands-on.

Lastly, you’ll move on to problems that no computer can ever solve in theory. You will learn about undecidability and recognize the limits of computability.

The course is 8 weeks long, with a total 14 hours of video lectures. Some videos have a quiz to help you practice recalling what you’ve learned. There are 7 chapters, and at the end of each chapter you will complete a problem set to put your new-found skills to good use.

Finally, there’s a summative exam at the end of the course.

  • This course has 2.2k bookmarks on Class Central.
  • One of the course instructors, Sebastian Wernicke, has spoken multiple times at TED .
  • To tackle this course, you may want to learn about algorithms first. The instructors recommend another Udacity course on algorithms as a refresher. In addition, good math foundations would be useful too. Check our picks below if needed.

9. Mathematics for Computer Science (University of London)

Banner-3

Offered by the University of London, this course introduces you to the mathematics and mathematical thinking computer scientists use in their work. What distinguishes this course from other math courses is its playfulness, with fun and interactive exercises.

More specifically, the course combines elements of algebra, analysis, and geometry — topics carefully picked to serve as the backbone of your computer science education.

The course discusses, among others, number bases, an essential topic to understand binary, and conversion between binary and other bases, such as hexadecimal. It explores numerical progressions, like the well-known Fibonnaci sequence. And it will touch on geometry and function graphing.

By the end of the course, you’ll have acquired the foundation needed to understand the math that underpins other computer science courses, and you’ll be ready to tackle more advanced mathematical topics.

The course assumes you know some high school mathematics as well as basic Python programming.

The course investigates five main topics: number bases, modular arithmetic, sequences, series, graph sketching and kinematics.

The course begins with the study of number bases. You might know that binary is the number base used by computers. But did you know that computer scientists also use hexadecimals?

You’ll cover the key concepts of place values and number systems, which will involve converting between binary, hexadecimal, and decimal, as well as adding, subtracting, and multiplying them together. Oh, a cool thing that the course teaches you is steganography, the art of hiding messages in images!

Next, you’ll cover modular arithmetic. Have you ever wondered what “modulo 7” means? You’ll learn about the usefulness of congruence and modular arithmetic operations in computer science (psst, it can be used for encryption).

You’ll identify, describe, and compute sequences of numbers and their sums. You’ll study a special family of sequences called progressions, which consists of arithmetic and geometric progressions. You’ll learn how sequences can be used to generate random numbers. Additionally, you’ll be able to tell when a series converges (meets at a point) or diverges (approaches infinity)

Lastly, the course describes how to represent and describe space numerically using coordinates and graphs. You’ll see how graphs can help us visualize and transform functions like straight lines, quadratics, cubics, reciprocals and more. An example of modeling motion will be given: the field of mathematics called kinematics.

The course is 6 weeks long, with about 40 hours worth of material. Each week comes with one or more quizzes, allowing you to learn by doing. However, you’ll need to pay for the certificate for the course autograder to mark your answers.

  • It is the third and final course of the Introduction to Computer Science and Programming Specialization .
  • Dr. Sara Santos enjoys math busking , which seeks to surprise and amuse people on the streets with performances rooted in math.

10. Mathematics for Computer Science: Essential Skills (University of Hull)

Banner-9

If you have taken a look at the previous two courses but do not have the mathematical foundations to take them yet, this course can help you with the basics.

This course is a short course on mathematics skills for computer science, offered by the University of Hull on FutureLearn.

Meant for learners starting or considering studying computer science at the university level, this course covers Venn diagrams and set theory, algebra techniques, and vectors and matrices — all fundamentals concepts ubiquitous in computer science.

The course assumes no prior mathematical knowledge. You’re starting from scratch.

Starting off with Venn diagrams and set theory, you’ll learn how “sets” (bags of objects, if you will) can be formalized and operated on. You’ll learn to reason about computations and objects of computation. Venn diagrams will help you visualize this type of reasoning.

You’ll then move on to algebra and its techniques. You’ll be given an overview of algebra (which could be described as doing math using variables instead of explicit numbers) and its use in algorithms and scientific computation. The course will teach you how to solve linear equations and quadratic equations using algebra.

The course ends with an overview of vectors and matrices. You’ll learn what vectors are, and why they are especially important in graphics programming. You’ll learn how we can represent vectors as matrices, and how to modify, transform, and invert matrices to solve complex problems.

This course is 3 weeks long, with around 3 hours of material per week. You’ll learn primarily through video material, although there are discussion forums where you can discuss problems with fellow learners.

At the end of each week, there is a quiz that’ll help you strengthen your understanding of mathematical concepts and applications.

  • The course instructor, Laura Broddle , joined the University of Hull in 2015 as a foundation math teaching fellow.
  • She also had visited a sister school in Uganda and was rated an outstanding teacher by Ofsted in 2013.

Part-time content writer for Class Central, full-time computer science student.

If you read this far, thank the author to show them you care. Say Thanks

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

coursework computer science

  • Values of Inclusion
  • 2020 Antiracism Task Force
  • 2022 DEI Report
  • Research News
  • Department Life
  • Listed by Recipient
  • Listed by Category
  • Oral History of Cornell CS
  • CS 40th Anniversary Booklet
  • ABC Book for Computer Science at Cornell by David Gries
  • Books by Author
  • Books Chronologically
  • The 60's
  • The 70's
  • The 80's
  • The 90's
  • The 00's
  • The 2010's
  • Faculty Positions: Ithaca
  • Faculty Positions: New York City
  • Lecturer Position: Ithaca
  • Post-doc Position: Ithaca
  • Staff/Technical Positions
  • Ugrad Course Staff
  • Ithaca Info
  • Internal info
  • Graduation Information
  • Cornell Learning Machines Seminar
  • Student Colloquium
  • Spring 2024 Colloquium
  • Conway-Walker Lecture Series
  • Salton 2023 Lecture Series
  • Spring 2024 Artificial Intelligence Seminar
  • Spring 2024 Robotics Seminar
  • Spring 2024 Theory Seminar
  • Big Red Hacks
  • Cornell University - High School Programming Contests 2024
  • Game Design Initiative
  • CSMore: The Rising Sophomore Summer Program in Computer Science
  • Explore CS Research
  • ACSU Research Night
  • Cornell Junior Theorists' Workshop 2023
  • Researchers
  • Ph.D. Students
  • M.Eng. Students
  • M.S. Students
  • Ph.D. Alumni
  • List of Courses
  • Course and Room Roster
  • CS Advanced Standing Exam
  • Architecture
  • Artificial Intelligence
  • Computational Biology
  • Database Systems
  • Human Interaction
  • Machine Learning
  • Natural Language Processing
  • Programming Languages
  • Scientific Computing
  • Software Engineering
  • Systems and Networking
  • Theory of Computing
  • Contact Academic Advisor
  • Your First CS Course
  • Technical Electives
  • CS with Other Majors/Areas
  • Transfer Credits
  • CS Honors Program
  • CPT for International CS Undergrads
  • Graduation Requirements
  • Useful Forms
  • Becoming a CS Major
  • Requirements
  • Game Design Minor
  • Co-op Program
  • Cornell Bowers CIS Undergraduate Research Experience (BURE)
  • Independent Research (CS 4999)
  • Student Groups
  • UGrad Events
  • Undergraduate Learning Center
  • UGrad Course Staff Info
  • The Review Process
  • Early M.Eng Credit Approval
  • Financial Aid
  • Prerequisites
  • The Application Process
  • The Project
  • Pre-approved Electives
  • Degree Requirements
  • The Course Enrollment Process
  • Advising Tips
  • Entrepreneurship
  • Cornell Tech Programs
  • Professional Development
  • Contact MEng Office
  • Career Success
  • Applicant FAQ
  • Computer Science Graduate Office Hours
  • Exam Scheduling Guidelines
  • Graduate TA Handbook
  • MS Degree Checklist
  • MS Student Financial Support
  • Special Committee Selection
  • Diversity and Inclusion
  • Contact MS Office
  • Ph.D. Applicant FAQ
  • Graduate Housing
  • Non-Degree Application Guidelines
  • Ph. D. Visit Day
  • Business Card Policy
  • Cornell Tech
  • Curricular Practical Training
  • Fellowship Opportunities
  • Field of Computer Science Ph.D. Student Handbook
  • Field A Exam Summary Form
  • Graduate School Forms
  • Instructor / TA Application
  • Ph.D. Requirements
  • Ph.D. Student Financial Support
  • Travel Funding Opportunities
  • Travel Reimbursement Guide
  • The Outside Minor Requirement
  • CS Graduate Minor
  • Outreach Opportunities
  • Parental Accommodation Policy
  • Special Masters
  • Student Spotlights
  • Contact PhD Office

Search form

coursework computer science

The CS Major

You are here.

Arts vs. Engineering Degree · Becoming a CS Major · Academic Integrity Code

General Description

Computer science majors take courses covering algorithms, data structures, logic, programming languages, systems, and theory. Electives include artificial intelligence, computer graphics, computer vision, cryptography, databases, networks, and scientific computing.

Requirements for the CS major in either the College of Arts and Sciences or the College of Engineering are as follows:

  • Math 1110-1120-2210 (A&S)
  • Math 1910-1920-2940 (ENGR or A&S)
  • Computer Science course requirements (see chart for prerequisite structure of CS courses):
  • CS 111x (CS 1110 or 1112)
  • CS 2110 (or CS 2112) or equivalent (i.e. ECE 2400/ENGRD 2140)
  • CS 2800 (or CS 2802)
  • CS 3410 or CS 3420
  • CS 4410 or CS 4414
  • Exceptions: CS 4090, CS 4998, and CS 4999 are NOT allowed
  • CS practicums (CS 4xx1) or CS 3152, CS 4152, CS 4154, CS 4740, CS 4752, CS 5150, CS 5152, CS 5412, CS 5414, CS 5431, CS 5625, or CS 5643
  • three 3000+ Technical Electives (information)  (3 credit min per course)
  • three 3000+ related courses to comprise an External Specialization --outside of computer science (3 credit min per course)
  • 3 credits Major-approved Elective(s)

In addition , students' course selections must satisfy the requirement listed below. Note that courses used to satisfy this requirement are not extra but can be incorporated into the major requirements listed above, where applicable.

  • a probability course: one of BTRY/STSCI 3080, CS 4850, ECE 3100, ECON 3130, ENGRD 2700 or MATH 4710. (Choosing a 3000+ level course among these options is strongly recommended.)

For suggestions on how to select a set of electives that reflect one of a number of coherent, recognized sub-areas of study in computer science, see the material on  Vectors . Please note that completion of a Vector in not required and vector completion is not confirmed nor noted on the transcript.

Two undergraduate degrees are offered:

  • A Bachelors of Science for students in the College of Engineering.
  • A Bachelors of Arts for students in the College of Arts and Sciences.

Neither program has a particular advantage from the standpoint of employment or graduate school.

Department Policy on Academic Integrity

Violations of the Cornell University Code of Academic Integrity occurring in Computer Science courses are taken very seriously by the Computer Science faculty. Therefore, it is necessary to impress upon students the gravity of violations of the Code. The following are excerpts from a longer version of the Cornell University Code of Academic Integrity . The exclusion of any part does not excuse ignorance of the Code.

Absolute integrity is expected of every Cornell student in all academic undertakings; students must in no way misrepresent their work fraudulently or unfairly advance their academic status, or be a party to another student's failure to maintain academic integrity. The maintenance of an atmosphere of academic honor and the fulfillment of the provisions of this Code are the responsibilities of the students and faculty of Cornell University. Therefore, all students and faculty members shall refrain from any action that would violate the basic principles of this Code.

General Responsibilities

  • A student assumes responsibility for the content and integrity of the academic work they submit, such as papers, examinations, or reports.
  • knowingly represents the work of others as their own.
  • uses or obtains unauthorized assistance in any academic work.
  • gives fraudulent assistance to another student.
  • fabricates data in support of laboratory or field work.
  • forges a signature to certify completion or approval of a course assignment.
  • in any other manner violates the principle of absolute integrity.

Specific Remarks for Students in CS Courses

Unless otherwise specified by the individual professor, the work you do in Computer Science courses is expected to be the result of your individual effort - the use of a computer in no way modifies the normal standards of the above Code. You may discuss work with other students, and give or receive "consulting" help from other students, but such permissible cooperation should never involve one student having in his or her possession a copy of all or part of another student's assignment - regardless of whether that copy is on paper, on a computer disk, or in a computer file. This implies that there is no legitimate reason to send a copy of a program from one computer account to another, or to be logged-on to another student's account.

Discussion of general strategy or algorithms is permissible, but you may not collaborate in the detailed development or actual writing of an assignment. It is also your responsibility to protect your work from unauthorized access. It is inadvisable to discard copies of your programs in public places. This applies to both hand-written and programming assignments.

The penalty for any violation of this Code in Computer Science courses may be failure in the course. This includes collaboration, providing a copy, or accepting a copy of work that is expected to be individual effort.

Computer accounts are provided for course work only. They are not private accounts; they belong to the Department of Computer Science and the use of these accounts will be monitored in various ways. Accounts that are abused will be withdrawn.

Cookie Notice

This website uses cookies. Contact us for questions or requests.

Augusta University Logo

Information for:

  • Current Students
  • Faculty & Staff
  • Degrees & Programs
  • Campus Maps
  • Jobs & Careers
  • Campus Shuttles
  • Student Life
  •   Giving

University Shield

School of Computer and Cyber Sciences

Data Science

Bachelor of Science

coursework computer science

  • Augusta University
  • BS in Data Science

Do you want to build and train machine learning models to automate tasks, predict future trends, and optimize processes while collaborating with teams across different disciplines to translate data into actionable strategies? Are you interested in uncovering hidden patterns in massive datasets, using your programming skills and analytical thinking? 

Become a leader in the booming field of data science with Augusta University's innovative Bachelor of Science program.  This exciting, interdisciplinary program combines the strengths of our School of Computer and Cyber Sciences and the College of Science and Mathematics , preparing you to make data-driven decisions that fuel innovation across key industries and solve real-world challenges in cybersecurity, healthcare, and business.

Data Science is for you if you consider yourself

Want to learn more about the Data Science program at Augusta University?

Computer & Cyber Sciences

Georgia Cyber Center

[email protected]

706-721-1110

What You'll Study

The Data Science program's coursework integrates core data science skills with specialized training tailored to the needs of Augusta’s unique industrial landscape. Students dive into subjects such as Machine Learning, Data Visualization, Biomedical Informatics, and Digital Forensics. This robust curriculum is informed by Augusta's position in the Central Savannah River Area, a nucleus of medical and technological innovation, providing students with a distinct competitive advantage through exposure to cutting-edge practices and technologies.

Course List | Track Sheet

Experience-based Education

Outside the Classroom

Students in the Data Science program benefit from direct access to internships and practical experiences through Augusta University’s affiliations with prominent local and regional entities.

These opportunities include working with state and federal organizations on significant projects that blend data science with public safety and environmental research (e.g., Georgia Cyber Innovation and Training Center, AU's Security Operations Center, Georgia Bureau of Investigation and Savannah River National Laboratory and local Startups). These opportunities not only enhance learning but also significantly boost employment prospects upon graduation.

The Computer Science Colloquium Series offers you an hour credit to learn more about research topics in the computer and cyber sciences, providing a unique opportunity to expand your understanding of a variety of topics.

Real-World Projects & Impact

Gain practical experience through internships with prominent local and regional organizations. Imagine working on cutting-edge projects that blend data science with public safety or environmental research.

Boost Your Resume

Our internship experiences aren't just resume builders - they'll equip you with the skills and knowledge employers crave. Graduate with the confidence of a seasoned data scientist.

Learn from the Best

Our strong industry affiliations open doors to work with organizations like the Georgia Bureau of Investigation and local startups. These connections can lead to future job opportunities and invaluable mentorship.

Expand Your Horizons

Deepen your knowledge beyond the classroom. The Computer Science Colloquium Series offers an hour credit for attending lectures on diverse research topics. Network with leading professionals and explore your specific data science interests.

Your Future

Career Options

A Bachelor of Science in Data Science from Augusta University can open doors to a variety of exciting career paths with strong job growth and salaries that consistantly ranks among the highest-paying professions in the US. 

The job outlook for data science professionals is exceptionally bright. The U.S. Bureau of Labor Statistics projects 35% growth in data scientist positions from 2022 to 2032, much faster than the average for all occupations. The median annual salary for a data scientist is $108,020 .

Student wearing VR headset smiles excitedly

Learning Like No Other

Why Augusta?

Location Advantage: Nestled in Augusta's thriving cybersecurity and health science hubs, you'll gain firsthand experience through partnerships with industry leaders like the Georgia Cyber Innovation and Training Center.

Real-World Ready: Our curriculum goes beyond theory. You'll develop practical skills in Machine Learning, Data Visualization, and more, tackling real challenges that drive growth in Augusta's unique industrial landscape.

Stand Out from the Crowd: Augusta's location in the Central Savannah River Area, a hub for medical and technological innovation, gives you a distinct edge. Learn from cutting-edge practices and technologies used by industry leaders.

Two men sit at a desk looking at the screen of a laptop computer that has four windows open with lines of data in various colors.

New Bachelor of Science in Data Science approved by USG for Fall 2024

“Augusta University is uniquely equipped to cultivate the next generation of data scientists," said Alexander Schwarzmann, PhD, dean of SCCS.

Men and women check out art on display

Augusta University artists showcase their talents

“I went to Augusta University, I know how many talented people go there. I was surprised how much reach we got. We have people from Boston, people that graduated and left the Augusta area who submitted work and mailed it to us. That was kind of cool," said Heather Rene Dunaway.

Two men stand and shake hands during a ceremony.

AU signs cybersecurity degree transfer pathway with state’s technical colleges

“The strategic development of the cybersecurity transfer pathway creates new opportunities for students from all Technical College System of Georgia institutions."

A female college student rests her head on one of her hands as she concentrates on reading a computer screen.

‘No substitute for hands-on experience’: Cyber students gain key experiences

"The experience we gained from going will be the greatest prep for the workforce we could ask for,” said Izaac Picazo, a senior cybersecurity major.

The Future Starts Here

The School of Computer and Cyber Sciences provide high-engagement, state-of-the-art technology education and research across computer science, information technology and cybersecurity disciplines.

Request Information

  • About BYU-Idaho
  • Financial Aid
  • President's Office
  • Registration
  • Academic Schedule
  • Career and Academic Advising
  • Colleges and Departments
  • Learning Model
  • Online Courses and Programs
  • Testing Center
  • Get Involved
  • Health and Wellness
  • Student Employment
  • Accessibility Services
  • FAQ and Help Guides
  • International Services
  • Print & Copy Services
  • Public Safety
  • Technical Help
  • University Store
  • Directories
  • Degrees & Programs
  • Course Dependency Flowcharts
  • Internships
  • Documentation and Tutorials
  • Hardware and Software
  • Student Societies
  • Our Faculty
  • Accreditation

/

Make Ideas Meet Reality through Computing and Engineering

The Department of Computer Science and Engineering hosts a collection of degree programs that focus on the common goal of making computers more powerful and useful to everyone.

Students gain a background in the theory and practice of computer software, computer hardware, and electrical systems.

Graduates from Computer Science and Engineering develop lifelong learning and find rewarding employment.

Bachelor's Degrees We Offer

cloud.jpg

Associate Degrees We Offer

Cyber Security- Jan 2018

Minors We Offer

Take the next step.

The College of New Jersey Logo

Apply       Visit       Give       |      Alumni       Parents       Offices       TCNJ Today       Three Bar Menu

Computer Science and Doctor of Medicine, BS/MD

New Jersey Medical School (NJMS) and TCNJ have a formal articulation agreement that allows incoming freshman applicants to be accepted to the medical school and TCNJ and earn both the baccalaureate from TCNJ and the MD degree from NJMS in seven years.

» Seven-Year Medical Program Details

Requirements

Required seminar courses.

  • CSC 099: Orientation to Computer Science
  • CSC 199: Computer Science Professional Development Seminar
  • CSC 299: Junior Seminar Course

Required Core Courses

  • CSC 220: Computer Science I: Computational Problem Solving
  • CSC 230: Computer Science II: Data Structures
  • CSC 270: Discrete Structures

Required Advanced Core Courses

  • CSC 325: Computer Architecture
  • CSC 335: Analysis of Algorithms
  • CSC 345: Operating Systems
  • CSC 415: Software Engineering
  • CSC 435: Programming Languages or CSC 445: Theory of Computation
  • CSC 399: Internship or CSC 498: Mentored Research I in Computer Science

Computer Science Options (three course units)

Select three courses from the following list. (Students who are approved to take CSC 250 to satisfy CSC 220 and 230, must select four courses.) Students may take additional options courses for free elective credit.

  • CSC 307: Data Mining and Predictive Modeling
  • CSC 315: Database Systems
  • CSC 320: Information Retrieval (cross listed as IMM 320)
  • CSC 350: Computer Graphics
  • CSC 355: Human Computer Interaction
  • CSC 360: Computer Networking
  • CSC 380: Artificial Intelligence
  • CSC 425: Compilers and Interpreters
  • CSC 426: Machine Learning
  • CSC 427: Natural Language Processing
  • CSC 435: Programming Languages (if not taken as part of advanced core)
  • CSC 445: Theory of Computation (if not taken as part of advanced core)
  • CSC 448: Algorithms in Computational Biology
  • CSC 450: Computer and Network Security
  • CSC 470: Topics in Computer Science
  • CSC 471: Genomics and Bioinformatics (same as BIO 470 when the topic is Genomics and Bioinfomatics)

One additional capstone course or independent study from the following list may be chosen, with advisement and departmental approval, and applied towards the CS Options. Also see the Suggested Sequence .

Capstone Courses and Independent Study:

  • CSC 399: Internship in Computer Science
  • CSC 498: Mentored Research I in Computer Science
  • CSC 499: Mentored Research II in Computer Science
  • CSC 391: Independent Study in Computer Science with departmental approval.

Students may take additional Computer Science Options courses, including capstone courses and independent study, for free elective credit.

Required Mathematics Courses (four course units)

  • MAT 127: Calculus A
  • MAT 205: Linear Algebra or MAT 128: Calculus B
  • STA 215: Statistical Inference

Required Natural Science Courses

  • BIO 201 – Foundations of Biological Inquiry ( formerly known as BIO 185: Themes in Biology, effective Fall 2016 ).
  • BIO 211 – Biology of the Eukaryotic Cell
  • CHE 201 – General Chemistry I
  • CHE 202 – General Chemistry II
  • PHY 201 – General Physics I
  • PHY 202 – General Physics II
  • CHE 331 – Organic Chemistry I
  • CHE 332 – Organic Chemistry II

World Language Requirements (two or three course units)

Two courses in sequence in any of the modern languages are required if students opt for a language not previously studied in high school or another institution.

Alternatively, students continuing a foreign language previously taken in high school or at another institution must take three courses of that language in sequence. However, this requirement may be reduced by taking a placement test in that language. Based on the student’s performance on that test, 0, 1, 2, or 3 courses may be required.

Consult the department for details.

Note: Arabic 151 and 152: Chinese 151 and 152; Japanese 151 and 152; Persian 151 and 152; and Russian 151 and 152 are intensive courses and carry two course units of credit each. Students should take this into account when planning a normal four-course semester.

College Core / Liberal Learning Requirements

As per College requirements.

Program Planner for CS & 7-Year-Med (2018-19)

TCNJ Today || Parents || Alumni

Campus Life

A-Z | Directory | Map | Offices

Facebook     Twitter     LinkedIn     Instagram     YouTube

Department of Computer Science

  • Graduate Programs
  • Online Programs
  • Youth Programs
  • Professional Development
  • Lifelong Learning
  • How to Apply
  • Costs & Financial Aid
  • Scholarships
  • Living on Campus
  • Student Clubs & Organizations
  • Student Engagement & Leadership
  • Intercultural Student Affairs
  • Equity & Inclusion
  • Prospective Students
  • Adult Learners
  • Parents & Families
  • Current Students
  • Faculty & Staff
  • Academic Calendar
  • Course Search
  • Academic Catalog
  • Learning Commons
  • Registration
  • Student Financial Services
  • Technology Support
  • University Store
  • Commencement

Undergraduate Courses

  • Academic programs
  • Graduate Students
  • Make a gift
  • COS 160 – Structured Problem Solving Java
  • COS 161 – Algorithms in Programming
  • COS 170 – Structured Programming Laboratory
  • COS 184 – Python Programming
  • COS 226 – Data Structures and Algorithms in C/C++
  • COS 250 – Computer Organization
  • COS 255 – Computer Organization Laboratory
  • COS 280 – Discrete Mathematics II
  • COS 285 – Data Structures
  • COS 350 – Systems Programming
  • COS 360 – Programming Languages
  • COS 368 – Graphical User Interface Design
  • COS 374 – Numerical Analysis
  • COS 375 – Web Applications Development
  • COS 389 – Programming Autonomous Robots
  • COS 398 – Professional Ethics and Social Impact of Computing
  • COS 420 – Object-Oriented Design
  • COS 422 – Computing for Data Science
  • COS 425 – Mobile Development
  • COS 427 – Computational Text Analytics
  • COS 430 – Software Engineering
  • COS 432 – Deep Learning
  • COS 450 – Operating Systems
  • COS 452 – Computer Graphics
  • COS 457 – Database Systems
  • COS 460 – Computer Networks
  • COS 470 – Topics in Computer Science
  • COS 472 – Artificial Intelligence and Data Mining
  • COS 475 – Machine Learning
  • COS 485 – Design and Analysis of Computing Algorithms
  • COS 497 – Independent Study in Computer Science
  • COS 498 – Computer Science Internship
  • Bihar Board

RBSE Result 2024

Srm university.

  • Goa Board Result 2024
  • Maharashtra HSC Result
  • Maharashtra SSC Result
  • RBSE 10th Result 2024
  • RBSE 12th Result 2024
  • CBSE Board Result 2024
  • Shiv Khera Special
  • Education News
  • Web Stories
  • Current Affairs
  • नए भारत का नया उत्तर प्रदेश
  • School & Boards
  • College Admission
  • Govt Jobs Alert & Prep
  • GK & Aptitude
  • State Boards

HBSE Class 12th Computer Science Syllabus 2024-25: Download PDF for Board Exam

Hbse class 12 computer science syllabus 2024-25: download the class 12th haryana board computer science syllabus for the academic session 2024-25 here. check out the complete syllabus to know the course structure along with overview and question paper design. find the link to download pdf for hbse 12th class haryana board computer science syllabus for the academic year 2024-25 at the conclusion of this article..

Anisha Mishra

  HBSE Class 12 Syllabus 2024-25: The Haryana Board has released the Computer Science syllabus for class 12th. Check out the latest syllabus of Haryana Board Class 12 Computer Science and get the 12th class Haryana Board syllabus downloadable link. The syllabus is the roadmap to prepare for examinations, it will help you to focus on course structure, question paper design and so on. The syllabus is released out well in advance so that students can start preparing accordingly.

HBSE Class 12 Computer Science Syllabus 2024-25: General Guidelines 

  • There will be an Annual Examination based on the entire syllabus.
  • The Annual Examination will be of 40 marks.
  • Practical Examination** will be of 40 marks.
  • Internal Assessment* will be of 20 marks. 

*Internal Assessment Marks Distribution is as follows: 

**practical marks distribution, hbse class 12 computer science course structure (2024-25) , unit i: programming in python  .

Exception Handling: Syntax errors, exceptions, need of exception handling, user-defined exceptions, raising exceptions, handling exceptions, catching exceptions, Try - except - else clause, Try - finally clause, recovering and continuing with finally, built-in exception classes.  

Unit II: Data Structure (Using Python)  

Stack (List Implementation): Introduction to stack (LIFO Operations), operations on stack (PUSH and POP) and its implementation in python.  

Queue (List Implementation) : Introduction to Queue (FIFO), Operations on Queue (INSERT and DELETE) and its implementation in Python.  

Searching: Sequential search (Linear search), Binary search.  

Unit III: Database & SQL  

Understanding Data: Data and its purpose, collection and organization  Database Concepts: Introduction to database concepts, difference between database and file system, relational data model: concept of domain, tuple, relation, keys - candidate key, primary key, alternate key, foreign key  

Structured Query Language (SQL): Introduction to MySQL, Creating a database using MySQL, Data Types.  

Data Definition Language (DDL): CREATE TABLE, DROP TABLE, ALTER TABLE,  

Data Query Language (DQL): SELECT, FROM, WHERE  

Data Manipulation Language (DML): INSERT, UPDATE, DELETE  

Aggregate Functions: MAX (), MIN (), AVG (), SUM (), COUNT (); using COUNT (*). 

Unit IV: Computer Networks  

Introduction to computer networks, Network types: LAN, WAN, MAN  

Network devices: Modem, Ethernet Card, Repeater, Hub, Switch, Router, Gateway.  

Unit V: Data Communication  

Communication: Types of Data Communication, Communication Media: Wired Technologies – Twisted pair cable, Co-axial cable, Ethernet Cable, Optical Fibre.  

Mobile telecommunication technologies: Wireless Technologies – Bluetooth, WLAN, Infrared, Microwave.  

Network Protocol: Need for Protocol, Categorization and Examples of protocol, HTTP, FTP, IP, PPP, SMTP.  

Unit VI: Security Aspects  

Threats and prevention: Malware- virus, worms, Trojan, Spyware, Adware.  

Antivirus and their workings  

HBSE Class 12 Computer Science Question Paper Design 2024-25

Prescribed books:.

  • NCERT Textbook for COMPUTER SCIENCE (Class XII).
  • Support materials on BSEH website

HBSE Class 12 Computer Science Syllabus 2024–25 

The article consists of class 12th haryana board Computer Science syllabus weightage, course overview and evaluation scheme . Students can access the direct link to the PDF to download and check the latest update regarding the Haryana Board Class 12 Computer Science syllabus. 

Get here latest School , CBSE and Govt Jobs notification in English and Hindi for Sarkari Naukari and Sarkari Result . Download the Jagran Josh Sarkari Naukri App . Check  Board Result 2024  for Class 10 and Class 12 like  CBSE Board Result ,  UP Board Result ,  Bihar Board Result ,  MP Board Result ,  Rajasthan Board Result  and Other States Boards.

  • RBSE 12th रिजल्ट 2024
  • RBSE रिजल्ट 2024
  • TS TET Hall Ticket 2024
  • Goa SSC Result 2024
  • SSC GD Result 2024
  • GBSHSE SSC Result 2024
  • SSC Result 2024 Goa
  • CDS 2 Notification 2024
  • results.gbshsegoa.net Result 2024
  • CBSE 10th Result 2024

Latest Education News

CUET Exam Analysis 2024, May 16: Check Detailed Paper Review, Difficulty Level, and Good Attempts

TS TET Hall Ticket 2024 OUT at tstet2024.aptonline.in/tstet: Download Telangana TET Admit Card Manabadi

UPSC NDA Apply Online 2024: OTR Login, Application Starts From May 15 at upsc.gov.in

HPBOSE SOS 12th Result 2024: Check HP Board Open School Result at Digilocker App and Download Marksheet

JAC 11th Result 2024: क्या आज आ सकता है झारखंड बोर्ड 11वीं का रिजल्ट? जानें 8वीं और 9वीं की भी लेटेस्ट अपडेट

HBSE Class 12th Geography Syllabus 2024-25: Download PDF for Board Exam

SSC GD 2024 Result Live Update: Official Website to Download the Constable Results ssc.gov.in, Check Merit List Date, Latest Updates

JEE Advanced Admit Card 2024 LIVE: Direct Link to Download JEE Advanced Paper 1 & 2 Hall Tickets at jeeadv.ac.in, Steps to Check Online

CBSE 10th Result 2024 LIVE: cbseresults.nic.in Class 10 Result at Official Website, Check Online with Roll Number and Toppers Details

भारत के 10 सबसे अधिक लोकसभा सीटों वाले राज्यों की सूची, पढ़ें

केंद्र में सरकार बनाने के लिए कितने बहुमत की जरूरत होती है, जानें

CUET UG 2024 Admit Card Out: Download Link Active on exams.nta.ac.in for Delhi students

BPSC Head Master Salary 20242: Check In-Hand Pay, Structure, Perks and Allowances

TSTET Hall Ticket Download 2024 Today: Direct Link to Telangana TSTET Admit Card at tstet2024.aptonline.in

Current Affairs One Liners: 16 May 2024- Cannes Film Festival 2024

LIVE RBSE 10th, 12th Result 2024: बड़ी खबर! राजस्थान बोर्ड 10वीं, 12वीं रिजल्ट rajeduboard.rajasthan.gov.in पर जल्द, rajresults.nic.in से डाउनलोड करें मार्कशीट

IGI AVIATION Recruitment 2024: कस्टमर सर्विस एजेंट का पदों पर बंपर भर्ती, आवेदन करने की अंतिम तिथि 21 मई

Current Affairs Quiz: 16 May 2024- Cannes Film Festival 2024

Top 10 Thought Of The Day For Morning School Assembly In English And Hindi (May 17, 2024)

Current Affairs Hindi One Liners: 16 मई 2024- कान फिल्म महोत्सव 2024

IMAGES

  1. A-level Computer Science

    coursework computer science

  2. A-level Computer Science

    coursework computer science

  3. A Level Computer Science Coursework Advice. Talking through my project with tips for top marks

    coursework computer science

  4. Computer Science Coursework Help Reliably Supplied

    coursework computer science

  5. Computer Science Coursework Help Online UK

    coursework computer science

  6. OCR GCSE Computer Science (9

    coursework computer science

VIDEO

  1. LCCS Coursework 2023/24: Basic Requirements

  2. IFSA Tech Career Accelerator (2023)

  3. Harvard CS50

  4. A Level

  5. SST vs. the Norm: Decoding Computer Science Education

  6. Year 9 Options

COMMENTS

  1. CS50: Introduction to Computer Science

    This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently.

  2. CS50: Introduction to Computer Science

    This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently.

  3. Best Computer Science Courses Online [2024]

    Learn Computer Science or improve your skills online today. Choose from a wide range of Computer Science courses offered from top universities and industry leaders. Our Computer Science courses are perfect for individuals or for corporate Computer Science training to upskill your workforce.

  4. CS50: Computer Science Courses and Programs from Harvard

    Introduction to Computer Science from Harvard, better known as CS50, is the largest course on the Harvard campus and more than 4,000,000 learners worldwide have registered for the course on edX.

  5. What Is Computer Science? Meaning, Jobs, and Degrees

    Computer science is an interdisciplinary field focused on studying computers and their uses in the real world. As a result, the field of computer science focuses as much on the theoretical underpinnings of computers as it does their actual uses and creation. Some common areas of study within the field include designing and applying computer ...

  6. Online Computer Science & Engineering Degrees

    Computer Science degree programs on Coursera feature hands-on learning, peer-to-peer support, and the same professors that teach degree courses on campus. Earn your computer science degree or engineering degree online from top computer science schools, like Arizona State University, University of Illinois, and University of London.

  7. CS50's Introduction to Computer Science

    This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently.

  8. AP Computer Science A

    The framework also encourages instruction that prepares students for advanced computer science coursework and its integration into a wide array of STEM-related fields. The AP Computer Science A framework is organized into 10 commonly taught units of study that provide one possible sequence for the course. As always, you have the flexibility to ...

  9. HarvardX: CS50's Introduction to Computer Science

    This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently.

  10. What Is a Bachelor of Computer Science?

    What Is a Bachelor of Computer Science Degree? A bachelor's degree in computer science is a four-year program combining general education with computer science, mathematics, and technology coursework. This degree can prepare graduates to pursue roles in the workforce or advanced degrees. Popular careers for recent graduates include computer programming, information security, and software ...

  11. Computer Science Courses & Tutorials

    Computer Science. Computer Science, often referred to as "CS," is a broad term that covers many sub-disciplines, including the worlds of software and hardware. It can be found in every piece of technology you use, from a smartphone or gaming console to a car or ATM. With so many applications for Computer Science, there's a space for everyone!

  12. Best Online Computer Science Courses and Programs

    Explore free online computer science courses to learn more about programming languages and how to become a computer scientist.

  13. What to Know About Becoming a Computer Science Major

    Becoming a Computer Science Major. Students in a computer science major enter the dynamic world of technology, studying topics like artificial intelligence, software design and computer graphics ...

  14. Computer Science 101 I Stanford Online

    CS101 is a self-paced course that teaches the essential ideas of Computer Science for a zero-prior-experience audience. Computers can appear very complicated, but in reality, computers work within just a few, simple patterns. CS101 demystifies and brings those patterns to life, which is useful for anyone using computers today.

  15. MIT OpenCourseWare

    OCW offers course content and materials related to a wide range of collections. Below are some topics available for you to explore: Africana Studies. Energy. Entrepreneurship. Environment & Sustainability. Introductory Programming. Introductory Science and Math. MIT Open Learning Library.

  16. Bachelor's Degree in Computer Science: A Guide

    A bachelor's degree in computer science—also called a CS degree—is an undergraduate program that typically involves learning about the fundamentals of computer systems and operations before focusing on a more specific area, like data science, machine learning, or game design. With your bachelor's in computer science, you can pursue an ...

  17. 10 Best Computer Science Courses to Take in 2022

    Fun Facts. This course has over 18k bookmarks and 120 reviews on Class Central. It is the first of a two-course XSeries Program on edX. The second is Introduction to Computational Thinking and Data Science, which could make for a good follow-up.; One of the instructors, Professor John Guttag, leads the Data Driven Inference Group at MIT's legendary Computer Science and Artificial ...

  18. Computer Science Courses and Certifications

    Class Central's Top Computer Science Courses. We've picked the best online courses to learn Computer Science from the Class Central catalog. All the 10 courses are free or free-to-audit. Read the Guide. CS50's Introduction to Computer Science. 174 reviews. Computational Thinking for Problem Solving.

  19. The CS Major

    General Description. Computer science majors take courses covering algorithms, data structures, logic, programming languages, systems, and theory. Electives include artificial intelligence, computer graphics, computer vision, cryptography, databases, networks, and scientific computing. Requirements for the CS major in either the College of Arts ...

  20. BS in Data Science

    The Data Science program's coursework integrates core data science skills with specialized training tailored to the needs of Augusta's unique industrial landscape. Students dive into subjects such as Machine Learning, Data Visualization, Biomedical Informatics, and Digital Forensics. This robust curriculum is informed by Augusta's position in ...

  21. Department of Computer Science and Engineering

    The Department of Computer Science and Engineering hosts a collection of degree programs that focus on the common goal of making computers more powerful and useful to everyone. Students gain a background in the theory and practice of computer software, computer hardware, and electrical systems. Graduates from Computer Science and Engineering ...

  22. Computer Science and Doctor of Medicine, BS/MD

    Computer Science Options (three course units) Select three courses from the following list. (Students who are approved to take CSC 250 to satisfy CSC 220 and 230, must select four courses.) Students may take additional options courses for free elective credit.

  23. Introduction to Computer Science and Programming Specialization

    The Specialisation should take approximately 13 weeks to complete. How Computers Work course is 4 weeks long, Introduction to Computer Programming is 3 weeks long, and Mathematics for Computer Science there is 6 weeks long. The courses are flexible so these are indicative timings. Learners can study the courses concurrently but should be ...

  24. 2024 AP Exam Dates

    AP Seminar end-of-course exams are only available to students taking AP Seminar at a school participating in the AP Capstone Diploma Program. April 30, 2024 (11:59 p.m. ET) is the deadline for: ... AP Computer Science Principles students to submit their Create performance task as final.

  25. PDF THE UNIVERSITY OF TEXAS AT TYLER Soules College of Business Department

    Department of Computer Science COSC 5371 - Data Mining Summer 2024 Section: 2024-SUMMER7WK2-COSC-5371.460 Instructor: Nary Subramanian, Ph.D. COB 315.11 Email (preferred way to contact): [email protected] Phone: 430-558-1330 Office Hours: By Zoom and email.

  26. Undergraduate Courses

    COS 368 - Graphical User Interface Design. COS 374 - Numerical Analysis. COS 375 - Web Applications Development. COS 389 - Programming Autonomous Robots. COS 398 - Professional Ethics and Social Impact of Computing. COS 420 - Object-Oriented Design. COS 422 - Computing for Data Science. COS 425 - Mobile Development.

  27. What Is a Computer Science Degree?

    A PhD, or Doctor of Computer Science, is typically the highest degree level in the field. The requirements vary from program to program, but most terminal degrees take four to five years to complete. Many doctoral programs focus heavily on research and theory, and most people go on to get teaching, research, or writing jobs.

  28. HBSE Class 12th Computer Science Syllabus 2024-25: Download Class 12

    Class 12 Computer Science Syllabus 2024-25: Get here the complete details of HBSE Class 12 Computer Science syllabus weightage, course overview and marking scheme, and download PDF.