Back to Courses

Computer Science Courses - Page 41

Showing results 401-410 of 2309
Make a Bill Splitter App with AngularJS
In this 1.5 hours class you will get up and running on AngularJS and write your first AngularJS app. We will cover the fundamentals of AngularJS, such as modules, the model-controller-view architecture, AngularJS directives, expressions, data model and binding, app controllers, filters, form validation, and tables. At the end of the class, you would have learned the basics of AngularJS and have built a bill splitter app that you can actually use when you go out with your friends! Prerequisite: Basic knowledge of JavaScript, HTML, and CSS.
Basic Cryptography and Programming with Crypto API
In this MOOC, we will learn the basic concepts and principles of crytography, apply basic cryptoanalysis to decrypt messages encrypted with mono-alphabetic substitution cipher, and discuss the strongest encryption technique of the one-time-pad and related quantum key distribution systems. We will also learn the efficient symmetric key cryptography algorithms for encrypting data, discuss the DES and AES standards, study the criteria for selecting AES standard, present the block cipher operating modes and discuss how they can prevent and detect the block swapping attacks, and examine how to defend against replay attacks. We will learn the Diffie-Hellman Symmetric Key Exchange Protocol to generate a symmetric key for two parties to communicate over insecure channel. We will learn the modular arithmetic and the Euler Totient Theorem to appreciate the RSA Asymmetric Crypto Algorithm, and use OpenSSL utility to realize the basic operations of RSA Crypto Algorithm. Armed with these knowledge, we learn how to use PHP Crypto API to write secure programs for encrypting and decrypting documents and for signing and verify documents. We then apply these techniques to enhance the registration process of a web site which ensures the account created is actually requested by the owner of the email account.
Programming Languages Ⅰ
The goal of this course is to help students: 1. learn new languages quickly, 2. evaluate various languages and pick the most suitable one for a given task, 3. know when and how to design a little language, and 4. understand the effects of languages on thought and communication. We will study programming language concepts, not as paradigms but as a set of basic building blocks, by 1) implementing interpreters for the concepts using the Scala programming language and 2) rigorously discussing the concepts using the operational semantics.
FPGA computing systems: A Bird’s Eye View
Nowadays the complexity of computing systems is skyrocketing. Programmers have to deal with extremely powerful computing systems that take time and considerable skills to be instructed to perform at their best. It is clear that it is not feasible to rely on human intervention to tune a system: conditions change frequently, rapidly, and unpredictably. It would be desirable to have the system automatically adapt to the mutating environment. This course analyzes the stated problem, embraces a radically new approach, and it introduces how software and hardware systems ca ben adjusted during execution. By doing this, we are going to introduce the Field Programmable Gate Arrays (FPGA) technologies and how they can be (re)configured.
How Computers Work
Computers are everywhere, they aren't just the desktops and laptops we use for work but the phones in our pockets and even the watches on our wrists are also computers. You probably use a computer every day and in fact you are reading this on a computer! Just because we use computers all the time, doesn't mean that we understand them, or find them easy to use. Computer Science is the science of computers, it is the field of knowledge that experts use to understand computer systems. Knowing a little computer science will help you understand the computers all around you. This isn't a how-to course for a particular piece of software, instead you will learn some fundamental concepts that you can apply to any software or computer system. You'll apply these concepts to the kind of computer systems we use every day, including word processing applications, e-commerce, the internet and web sites. You will learn how to apply computer science concepts to solve problems in daily computer use and generally be a better computer user. Taking this course could be the start of your career in computer science, and the course is an introduction to the Bachelors in Computer Science from University of London, but it is also for you if you just want to learn a little computer science to help you better understand the computers you use in your ordinary life.
User Experience & Interaction Design for AR/VR/MR/XR
This second course in the XR for Everybody specialization looks at how to design new user experiences for XR technologies. The course provides learners with a design thinking mindset and equips them with a fundamental toolbox for creating XR applications using rapid prototyping. It starts with a broad overview of the complete XR design process, discussing different paths to becoming an XR creator, what is generally involved in making XR experiences, and how to best get started. The course then emphasizes design thinking, critiques, and ethics while introducing guidelines and user-centered techniques like design jams. The second half of the course introduces a variety of methods and tools for prototyping both physically and digitally including on the XR devices themselves through immersive authoring. The course has an honors track that guides learners through creating their own storyboard, physical prototype, and digital prototype of an XR experience. You will work on exercises that allow you to practice your design skills and also build XR technologies into your workflow by working with specific templates and new digital tools that allow you to preview physical prototypes on AR/VR devices.
Proactive Computer Security
I’ve heard this before – “I’m not sure my computer security practices are working”. I reply “Have you tested them?” This course is the fourth and final course in the Practical Computer Security specialization. In this course, you’ll learn how to proactively test what you have put in place to protect your data. In the first week you’ll be able to discuss the basics of deterrents and how to “trick” attackers into believing they’ve hit a goldmine of data away from your real systems. In week 2, you’ll be able to understand and discuss the steps of penetration testing methodology. In week 3, you will be able to understand and apply what you have learned on your own systems to test whether your systems are secure or not. In week 4, we’ll discuss planning for your own methodology that you can apply to your own systems. And finally in week 5, we’ll finish up with a project that will allow you to test your skills in a safe environment.
Become a JavaScript Pro with these 7 Skills
In this 2-hour long project-based course, you will gain hands-on experience with 7 essential JavaScript topics. If you have some experience with JavaScript, HTML, CSS, and object-oriented programming and want to elevate your level of competency and be ready to solve real-world problems, this course is for you! By the end of this course, you will understand and be able to apply 7 of the most important concepts and skills in JavaScript.
Finding Hidden Messages in DNA (Bioinformatics I)
Named a top 50 MOOC of all time by Class Central! This course begins a series of classes illustrating the power of computing in modern biology. Please join us on the frontier of bioinformatics to look for hidden messages in DNA without ever needing to put on a lab coat. In the first half of the course, we investigate DNA replication, and ask the question, where in the genome does DNA replication begin? We will see that we can answer this question for many bacteria using only some straightforward algorithms to look for hidden messages in the genome. In the second half of the course, we examine a different biological question, when we ask which DNA patterns play the role of molecular clocks. The cells in your body manage to maintain a circadian rhythm, but how is this achieved on the level of DNA? Once again, we will see that by knowing which hidden messages to look for, we can start to understand the amazingly complex language of DNA. Perhaps surprisingly, we will apply randomized algorithms, which roll dice and flip coins in order to solve problems. Finally, you will get your hands dirty and apply existing software tools to find recurring biological motifs within genes that are responsible for helping Mycobacterium tuberculosis go "dormant" within a host for many years before causing an active infection.
Style Tables with CSS
In this intermediate-level course you will explore how CSS (Cascading Stylesheets) can be used to alter the appearance of a table on your web page. HTML is used to add a table to a website to organize content. CSS is used to make that table easier to read and more visually appealing to website visitors. You will use the Notepad++ editor to write CSS rules with a variety of selectors and properties that are applied to table components to change their appearance. The Chrome browser is used to display the page to test the results of your work. CSS is a very powerful tool and using it to enhance the look of a table is a valuable skill for a web developer. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.