CS50 Introduction to Computer Science I
Resolution: 640x360(.Mp4) | Audio: AAC 64Kbit/s 44.1KHz | Completion Time: N/a | 19.47 GB
Genre: Programming | Harvard Extension School | Language: English
Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, encapsulation, data structures, databases, memory management, security, software development, virtualization, and websites. Languages include C, PHP, and javascript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience.
Lectures Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, encapsulation, data structures, databases, memory management, security, software development, virtualization, and websites. Languages include C, PHP, and javascript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience. Week 0 { Introduction. Bits. Binary. ASCII. Programming. Algorithms. Scratch. Statements. Boolean expressions. Conditions. Loops. Variables. Threads. Events. } Week 1 { C. Source code. Compilers. Object code. GCC. Functions. Comments. Standard output. Arithmetic operators. Precedence. Local variables. Types. Casting. Standard input. Libraries. Boolean expressions, continued. Conditions, continued. Loops, continued. } Week 2 { Functions, continued. Global variables. Parameters. Return values. Stack. Frames. Scope. Arrays. Strings. Command-line arguments. Cryptography. } Week 3 { Linear search. Binary search. Asymptotic notation. Recursion. Bubble sort. Selection sort. Debugging. } Week 4 { Merge sort. Structures. Dynamic memory allocation. Pointers. Debugging, continued. } Week 5 { CS50 Library. Heap. Pointers, continued. Forensics. } Week 7 { File I/O. Linked lists. Stacks. Queues. Valgrind. Hash tables. Trees. Binary search trees. Tries. } Week 8 { HTTP. HTML. CSS. PHP. } Week 9 { PHP, Continued. SQL. } Week 10 { javascript. Ajax. APIs. } Week 11 { Life after 50. } Week 12 { Exciting conclusion. } Sections Sections (otherwise known as "recitations" or "precepts" at other universities) supplement lectures. Led by Jason Hirshhorn '14, these sections were filmed in Sever Hall. Problem Sets & Walkthrough In order to accommodate students with different backgrounds, some problem sets are released in two editions: a standard edition intended for most students and a "Hacker Edition" intended for some students. Both editions essentially cover the same material. But the Hacker Edition typically presents that material from a more technical angle and poses more sophisticated questions. Most standard editions, though, are accompanied by code "walkthroughs" during which students receive direction on where to begin and how to approach the problem set. Led by Tommy MacWilliam '13, these walkthroughs were filmed in Northwest Science. If you have questions or would like to discuss the material with others, you may want to join the Google Group at right. Most of these problem sets require the CS50 Appliance (see directory Appliance), a virtual machine (for Linux, Mac OS, and Windows) that anyone can download for free. Quizzes Below are quizzes; other answers may be possible. Reviews were led by Tommy MacWilliam '13, Joseph Ong '13, and Lexis Ross '13. If you have questions or would like to discuss the material with others, you may want to join the Google Group at right. Seminars Seminars cover material beyond the scope of the course. Fall 2007's seminars, Fall 2008's seminars, Fall 2009's seminars, and Fall 2010's seminars are also available. Accelerating Science with the Open Science Grid by Ian Stokes-Rees { In the mid-1990s, the high-energy physics community (think FermiLab and CERN) started planning for the Large Hadron Collider. Managing the petabytes of data that would be generated by the facility and sharing it with the globally distributed community of over 10,000 researchers would be a major infrastructure and technology problem. This same community that brought us the web has now developed standards, software, and infrastructure for grid computing. In this seminar I'll present some of the exciting science that is being done on the Open Science Grid, the US national cyberinfrastructure linking 60 institutions (Harvard included) into a massive distributed computing and data processing system. } Acing Your Technical Interviews by Tony Ho '14 { Most coding interviews are like another coding competition. I would like to start by talking about resources like Project Euler, Poj, USACO, Codeforces, Topcoder. Then I will move into the broad topics that everyone needs to know to answer simple questions. Finally, I will end with a hands-on period where we will try some problems and go over some problems that I have personally seen and find very interesting. } Android Application Development by Jordan Jozwiak '14{ Learn the basics of the Android Application Interface and developing Java applications using Eclipse. } appLab.Phone(Mango) Session One by Edwin Guarin of Microsoft { You will learn how to get started on that next great app for the Windows Phone. Session One will attempt to cover: Introduction to Windows Phone 7.5 for Developers; Building Windows Phone 7.5 Apps with Visual Studio and Silverlight; Getting Started with Sample Code and other resource; Publishing and Monetizing your App in the Marketplace at no cost. For this seminar, install the Windows Phone 7.5 SDK from http://create.msdn.com/en-us/home/getting_started. And create a free Dreamspark and AppHub account using the instructions from http://bit.ly/r2dqFr. This will give you the ability to publish your phone apps and monetize for free. } Basics of Java by Rabeea Ahmed { This seminar will discuss the basics of Java, including methods, constructors, private vs. public variables, and some "equivalents" of C in Java. Java is, in some cases, easier to use than C (strings are native to Java, for example), so it might be useful to some students working on specific projects. } Beyond Google Maps: Spatial is Special by Kirk Goldsberry { There's an ongoing geospatial revolution happening right now. Unfortunately, despite the rapid rise of geospatial technologies, here at Harvard there are few if any courses that focus on Geographic Information Science. I propose to lead a brief seminar that introduces the basics of GIScience and hopes to inspire students to generate exciting new spatially aware mobile applications that pick up where popular location-based services such as Google Maps and Yelp leave off. Since a large percentage of "apps" have a spatial component, this topic should be of interest to students looking to design new mobile computing software. } Building Applications in C# by Mike Teodorescu '11 { This seminar is a concentrated introduction to C# and will cover object-oriented programming in C#, collections in C#, exception handling, regular expressions, XML parsing, file I/O, and debugging in Visual Studio. By the end of the course, students should have a solid grasp of this powerful language, which is packed with handy shortcuts and libraries. } CSS for a Beautiful Website by Charles Bandes { Proper use of CSS allows a tremendous degree of control over both the layout and visual design of a web page. Careful application of style sheets can be the difference between a basic page and a really polished site. } Develop for the BlackBerry... Like a Boss by Jason Hirschorn '14 and Marta Bralic '12 { Learn how to develop applications for BlackBerry smartphone. Imagine integrating the BBM platform into your application or coding the next Brick Breaker. The possibilities are endless! } Educational Software by Katie Vale { Interested in writing software to support teaching and learning? This session will discuss how to plan and execute an instructional project, including how to do requirements gathering, how to choose development platforms, and how to assess your project. The instructor has over 20 years' experience in designing and producing educational software. } Emacs by Matthew Chartier '12 { Emacs is an alternative to gedit which empowers you to write code more efficiently. Extensible and highly customizable, Emacs allows users to streamline their editing process by modifying the editor itself to suit their needs. Topics covered will include keyboard shortcuts to navigate text files quickly, using buffers to more effectively work with code spanning multiple files, and automating repetitive and tedious editing tasks on the fly. } From Innovation to Production: Making It Work is Just the Beginning by Dennis Ravenelle { Thomas Edison is credited with saying that invention is 1 percent inspiration and 99 percent perspiration. Getting an innovative solution from the lab (or the garage) into a real production environment can be an arduous process. But until something delivers real value in a real-world environment, it's just a novelty. Here are some things to consider. } Getting a Job in the Tech Industry by Matthew Chartier '12 and Melissa Niu '13 { A seminar to discuss opportunities available to Harvard students in the tech industry and details about the interview process. The seminar will consist of a presentation and Q&A session with a panel of students with prior experience interviewing for and working in positions in the tech industry. } Getting Started with Node.js by Beardsley Ruml { An introduction to Node.js, a server-side javascript environment with non-blocking IO, and its most popular modules, such as Express (built on Connect) and Socket-IO. The opportunities for real-time browser-based interactions will be demonstrated with a new open-source implementation of backchan.nl. (See http://www.github.com/bruml2/backchannel/) } Git Magic: Versioning Files Like a Boss by Tommy MacWilliam '13 { Tired of sudoku_why_is_it_3_am.c and sudoku_OMG_FINALLY_WORKS.c? Learn how software is developed in the real world with git, a distributed revision control system. Track down bugs faster, manage file histories, and deploy code with efficiency and confidence. } iOS by Larry Ehrhardt { Quick tour of iOS and how to build a tab-based app with a view, table, and web view. } jQuery: How to Make Your Website Shiny by Alex Hugon '11 { Stolen from jQuery's site: "jQuery is a fast and concise javascript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write javascript." } Ruby on Rails by Lexi Ross '13 { Ruby on Rails is an exciting new web development framework that lets you build awesome, dynamic websites in a short amount of time. Ever used Twitter or Groupon? Then you've used a Rails application. The Rails framework utilizes the Ruby programming language, so we'll be learning basic Ruby syntax as well as the tools you need to get started building a Rails app. Bonus: Ruby is insanely fun to code in! } Search and Browse Superpowers: an Introduction to Solr by Ben Gaucherin { Search and browse capabilities are core to most applications these days. This seminar will review basic concepts behind search, including the more recent development known as faceted search. We will then use Solr, one of the most popular open-source faceted search engines, to see how one can incorporate advanced search and browse capabilities into an application. } User Experience (UX) Design by Julia Mitelman '13 { Ever stumbled upon a product that frustrated you because you couldn't figure out how to use it? Learn how to create products that are intuitive and convenient—no user manual necessary! A sneak peek of CS179, this seminar teaches you what you need to keep in mind when making products so you can create a great best user experience—because it's always the designer's fault! } Web Security by Carl Jackson '13 { You know how to build websites, but do you know how to make them secure? We'll teach you about some of the most common Web Security vulnerabilities and how to fix them. } Download (Rapidgator.net) http://rapidgator.net/file/24281095/CS50IntroductiontoComputerScienceI.part01.rar.html http://rapidgator.net/file/24280878/CS50IntroductiontoComputerScienceI.part02.rar.html http://rapidgator.net/file/24280884/CS50IntroductiontoComputerScienceI.part03.rar.html http://rapidgator.net/file/24280876/CS50IntroductiontoComputerScienceI.part04.rar.html http://rapidgator.net/file/24280882/CS50IntroductiontoComputerScienceI.part05.rar.html http://rapidgator.net/file/24281564/CS50IntroductiontoComputerScienceI.part06.rar.html http://rapidgator.net/file/24282238/CS50IntroductiontoComputerScienceI.part07.rar.html http://rapidgator.net/file/24281563/CS50IntroductiontoComputerScienceI.part08.rar.html http://rapidgator.net/file/24281682/CS50IntroductiontoComputerScienceI.part09.rar.html http://rapidgator.net/file/24281749/CS50IntroductiontoComputerScienceI.part10.rar.html Or http://extabit.com/file/2crkmthyc7uf6/CS50IntroductiontoComputerScienceI.part09.rar http://extabit.com/file/2crkmthyc7ug2/CS50IntroductiontoComputerScienceI.part10.rar http://extabit.com/file/2crkmthyc7uaq/CS50IntroductiontoComputerScienceI.part07.rar http://extabit.com/file/2crkmthy7v842/CS50IntroductiontoComputerScienceI.part08.rar http://extabit.com/file/2crkmthy7v7ya/CS50IntroductiontoComputerScienceI.part04.rar http://extabit.com/file/2crkmthy7v7zm/CS50IntroductiontoComputerScienceI.part06.rar http://extabit.com/file/2crkmthy5dbsi/CS50IntroductiontoComputerScienceI.part05.rar http://extabit.com/file/2crkmthy5cpma/CS50IntroductiontoComputerScienceI.part01.rar http://extabit.com/file/2crkmthy5csoy/CS50IntroductiontoComputerScienceI.part03.rar http://extabit.com/file/2crkmthy5cz3m/CS50IntroductiontoComputerScienceI.part02.rar
TO MAC USERS: If RAR password doesn't work, use this archive program:
RAR Expander 0.8.5 Beta 4 and extract password protected files without error.
TO WIN USERS: If RAR password doesn't work, use this archive program:
Latest Winrar and extract password protected files without error.