Homework for the course "CS 217 – Probability and Statistics for Computer …
Homework for the course "CS 217 – Probability and Statistics for Computer Science" delivered at the City College of New York in Spring 2019 by Evan Agovino as part of the Tech-in-Residence Corps program.
Today we're going to talk about robots! Robots are often thought as …
Today we're going to talk about robots! Robots are often thought as a technology of the future, but they're already here by the millions in the workplace, our homes, and pretty soon on the roads. We'll discuss the origins of robotics to its proliferation, and even look at some common control designs that were implemented to make them more useful in the workplace. Robots are often thought of as a menace or danger to society, and although there definitely is the propensity for malicious uses, robots also have the potential to drastically improve the world.
This course focuses on one particular aspect of the history of computing: …
This course focuses on one particular aspect of the history of computing: the use of the computer as a scientific instrument. The electronic digital computer was invented to do science, and its applications range from physics to mathematics to biology to the humanities. What has been the impact of computing on the practice of science? Is the computer different from other scientific instruments? Is computer simulation a valid form of scientific experiment? Can computer models be viewed as surrogate theories? How does the computer change the way scientists approach the notions of proof, expertise, and discovery? No comprehensive history of scientific computing has yet been written. This seminar examines scientific articles, participants’ memoirs, and works by historians, sociologists, and anthropologists of science to provide multiple perspectives on the use of computers in diverse fields of physical, biological, and social sciences and the humanities. We explore how the computer transformed scientific practice, and how the culture of computing was influenced, in turn, by scientific applications.
Computers and computing have changed a lot over the History of Science …
Computers and computing have changed a lot over the History of Science but ESPECIALLY over the last 100 years. In this episode of Crash Course History of Science, we have a look at that history around World War Two and how that conflict forced changes in computing.
Lecture for the course "CS 217 – Probability and Statistics for Computer …
Lecture for the course "CS 217 – Probability and Statistics for Computer Science" delivered at the City College of New York in Spring 2019 by Evan Agovino as part of the Tech-in-Residence Corps program.
Midterm Exam Review for the course "CS 217 – Probability and Statistics …
Midterm Exam Review for the course "CS 217 – Probability and Statistics for Computer Science" delivered at the City College of New York in Spring 2019 by Evan Agovino as part of the Tech-in-Residence Corps program.
For this 3-part project, students will practice using the problem-solving steps by …
For this 3-part project, students will practice using the problem-solving steps by pretending to help a family member or friend who has asked them to give a recommendation of which computer to buy.
Today we’re going to take our first baby steps from hardware into …
Today we’re going to take our first baby steps from hardware into software! Using that CPU we built last episode we’re going to run some instructions and walk you through how a program operates on the machine level. We'll show you how different programs can be used to perform different tasks, and how software can unlock new capabilities that aren't built into the hardware. This episode, like the last is pretty complicated, but don’t worry - as we move forward into programming the idea of opcodes, addresses, and registers at this machine level will be abstracted away like many of the concepts in this series.
So we've talked a lot in this series about how computers fetch …
So we've talked a lot in this series about how computers fetch and display data, but how do they make decisions on this data? From spam filters and self-driving cars, to cutting edge medical diagnosis and real-time language translation, there has been an increasing need for our computers to learn from data and apply that knowledge to make predictions and decisions. This is the heart of machine learning which sits inside the more ambitious goal of artificial intelligence. We may be a long way from self-aware computers that think just like us, but with advancements in deep learning and artificial neural networks our computers are becoming more powerful than ever.
Lecture for the course "CS 217 – Probability and Statistics for Computer …
Lecture for the course "CS 217 – Probability and Statistics for Computer Science" delivered at the City College of New York in Spring 2019 by Evan Agovino as part of the Tech-in-Residence Corps program.
Collection of OER materials created for use in a computer science introductory …
Collection of OER materials created for use in a computer science introductory class, including a syllabus and 10-week schedule with projects, resources, and discussion topics. Also includes guidelines for a final project.
Today we're going to talk about hackers and their strategies for breaking …
Today we're going to talk about hackers and their strategies for breaking into computer systems. Now, not all hackers are are malicious cybercriminals intent on stealing your data (these people are known as Black Hats). There are also White Hats who hunt for bugs, close security holes, and perform security evaluations for companies. And there are a lot of different motivations for hackers—sometimes just amusement or curiosity, sometimes for money, and sometimes to promote social or political goals. Regardless, we're not going to teach you how to become a hacker in this episode but we are going to walk you through some of the strategies hackers use to gain access to your devices, so you can be better prepared to keep your data safe.
*CORRECTION* AT "whatever" should not have a leading ' The correct username field should be: whatever’; DROP TABLE users;
We will discuss numerous research problems that are related to the internet. …
We will discuss numerous research problems that are related to the internet. Sample topics include: routing algorithms such as BGP, communication protocols such as TCP, algorithms for intelligently selecting a resource in the face of uncertainty, bandwidth sensing tools, load balancing algorithms, streaming protocols, determining the structure of the internet, cost optimization, DNS-related problems, visualization, and large-scale data processing. The seminar is intended for students who are ready to work on challenging research problems. Each lecture will discuss:
methods used today issues and problems formulation of concrete problems potential new lines of research
A modest amount of background information will be provided so that the importance and context of the problems can be understood. No previous study of the internet is required, but experience with algorithms and/or theoretical computer science at the graduate/research level is needed.
Computers are now essential in all branches of science, but most researchers …
Computers are now essential in all branches of science, but most researchers are never taught the equivalent of basic lab skills for research computing. As a result, data can get lost, analyses can take much longer than necessary, and researchers are limited in how effectively they can work with software and data. Computing workflows need to follow the same practices as lab projects and notebooks, with organized data, documented steps, and the project structured for reproducibility, but researchers new to computing often don't know where to start. This paper presents a set of good computing practices that every researcher can adopt, regardless of their current level of computational skill. These practices, which encompass data management, programming, collaborating with colleagues, organizing projects, tracking work, and writing manuscripts, are drawn from a wide variety of published sources from our daily lives and from our work with volunteer organizations that have delivered workshops to over 11,000 people since 2010.
So you may have heard of Moore's Law and while it isn't …
So you may have heard of Moore's Law and while it isn't truly a law it has pretty closely estimated a trend we've seen in the advancement of computing technologies. Moore's Law states that we'll see approximately a 2x increase in transistors in the same space every two years, and while this may not be true for much longer, it has dictated the advancements we've seen since the introduction of transistors in the mid 1950s. So today we're going to talk about those improvements in hardware that made this possible - starting with the third generation of computing and integrated circuits (or ICs) and printed circuit boards (or PCBs). But as these technologies advanced a newer manufacturing process would bring us to the nanoscale manufacturing we have today - photolithography.
Today we’re going to discuss how 3D graphics are created and then …
Today we’re going to discuss how 3D graphics are created and then rendered for a 2D screen. From polygon count and meshes, to lighting and texturing, there are a lot of considerations in building the 3D objects we see in our movies and video games, but then displaying these 3D objects of a 2D surface adds an additional number of challenges. So we’ll talk about some of the reasons you see occasional glitches in your video games as well as the reason a dedicated graphics processing unit, or GPU, was needed to meet the increasing demand for more and more complex graphics.
Algorithms are the sets of steps necessary to complete computation - they …
Algorithms are the sets of steps necessary to complete computation - they are at the heart of what our devices actually do. And this isn’t a new concept. Since the development of math itself algorithms have been needed to help us complete tasks more efficiently, but today we’re going to take a look a couple modern computing problems like sorting and graph search, and show how we’ve made them more efficient so you can more easily find cheap airfare or map directions to Winterfell... or like a restaurant or something.
Today, we are going to start our discussion on user experience. We've …
Today, we are going to start our discussion on user experience. We've talked a lot in this series about how computers move data around within the computer, but not so much about our role in the process. So today, we're going to look at our earliest form of interaction through keyboards. We'll talk about how the keyboard got its qwerty layout, and then we'll track its evolution in electronic typewriters, and eventually terminals with screens. We are going to focus specifically on text interaction through command line interfaces, and next week we'll take a look at graphics.
Today, we’re going to talk about how HUGE programs with millions of …
Today, we’re going to talk about how HUGE programs with millions of lines of code like Microsoft Office are built. Programs like these are way too complicated for a single person, but instead require teams of programmers using the tools and best practices that form the discipline of Software Engineering. We'll talk about how large programs are typically broken up into into function units that are nested into objects known as Object Oriented Programming, as well as how programmers write and debug their code efficiently, document and share their code with others, and also how code repositories are used to allow programmers to make changes while mitigating risk.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.