Showing posts with label Computer Science. Show all posts
Showing posts with label Computer Science. Show all posts

Introduction to Computer Science

Course description:
Introduction to Computer Science I is a first course in computer science at Harvard College for concentrators and non-concentrators alike. More than just teach you how to program, this course teaches you how to think more methodically and how to solve problems more effectively. As such, its lessons are applicable well beyond the boundaries of computer science itself. That the course does teach you how to program, though, is perhaps its most empowering return. With this skill comes the ability to solve real-world problems in ways and at speeds beyond the abilities of most humans.

Course topics:
How Computers Work, Binary. Introduction to Programming and Scratch. Threads and Programs with Multiple Scripts. Binary Numbers, Programming Languages, Working in Linux, and Programming in C. Secure File Transfer, Variable Types, and Arithmetic Operators. Standard Input Functions, Boolean Expressions, and Loops. Cryptography, Bugs, Integer Casting, and Functions. Local and Global Variables, the Stack, Return Values, and Arrays. Strings as Arrays, Command-Line Arguments, and more Cryptography. Run Times and Algorithms, Recursion. Sorting: Bubble Sort, Selection Sort, and Merge Sort. Hardware, Processors, and Implications for Software. Greedy Algorithms, Software Design and Debugging. Pointers. Pointers and Arrays, Dynamic Memory Allocation. Pointer Arithmetic, Structures, File I/O. Linked Lists. Inserting and Deleting Elements in Linked Lists, Doubly-Linked Lists. Hash Tables, Dealing with Collisions. Pointers to Pointers, Binary Search Tree, Tries, Heaps. Heapsort, Jeopardy. Huffman Coding Theory. Bitwise Operators, Underneath the Hood - From Code to Executable File. Dangerous Functions, Secure Code. The Internet and Webpages - HTTP and XHTML. Introduction to PHP. User Input, Setting up a Login Page, SQL. Threats. Introduction to LISP. Brief Introduction to System Programming and Machine Organization. Conclusions. 



Introduction to Computer Science (Harvard, professor David J. Malan)

(Click below link to follow Course Videos)


Introduction to Computer Science

Higher Computing (University of New South Wales, by Richard Buckland, COMP1917)


Course description:
This is the introductory course for computer science at UNSW. This course consists of three strands: programming, systems, and general computer-science literacy. The programming strand is further divided into two parts. For the first half of the course we cover small scale programming, in the second half we look at how to effectively use teams to produce more substantial software. In the systems strand we will look at how computers work. Concentrating on microprocessors, memory, and machine code. In the literacy strand we will look at topics drawn from: computing history, algorithms, WWW programming, ethics and law, cryptography and security, and other topics of general interest. The strands will be covered in an intermingled fashion.

Course topics:
Higher Computing. Inside a computer. Machine Code. Simple C Program. Clarity (C programming #2). Solving Problems. Side Effects. A simple recursive function. The Amazing Alan Turing. The Turing Test. Frames. Arrays. Pass by reference. Game design. Everything you need to know about pointers. Sudoku solver. Stack Frames. eXtreme Programming. VS programming. Programming in the Large. Stress. Random Numbers. The Trouble with Concrete Types. Abstract Data Types in C. Blackadder and Baldrick. ADT. Steganography (hidden messages). Don't give up. File I/O. Linked lists. Experimenting with CMOS. Complexity & Trees. Errors, Risks, Snarks, Boojums. Taste of Graphics. Sample Tree Code: loop detection. Ethics. Hamming Error Correcting Code. Professionalism. What makes a good programmer? Learning and Teaching Computing. Coding samples.




(Click below link to follow Course Videos)