Courses tagged with "Evaluation" (723)
This course is an upper division computer science course that studies the design of programming languages. While most of the industry uses either procedural or object-oriented programming languages, there are entire families of other languages with certain strengths and weaknesses that make them attractive to a variety of problem domains. It is important to know about these less well-known yet powerful languages if you find yourself working in an area that could utilize their strengths. In this course, we will discuss the entire programming language family, starting with an introduction to programming languages in general and a discussion of the features and functionality that make up the modern programming language. From there, each unit will discuss a different family of programming languages, including Imperative, Object-Oriented, Functional, Scripting, and, Logical. For each language, you will learn about its computational model, syntax, semantics, and pragmatic considerations that shape the langua…
CS405 introduces the field of artificial intelligence (AI). Materials on AI programming, logic, search, game playing, machine learning, natural language understanding, and robotics introduce the student to AI methods, tools, and techniques, their application to computational problems, and their contribution to understanding intelligence. Because each of these topics could be a course unto itself, the material is introductory and not complete. Each unit presents the problem a topic addresses, current progress, and approaches to the problem. The readings include and cite more materials that are referenced in this course, and students are encouraged to use these resources to pursue topics of interest after this course.
This course is designed to introduce you to the study of Calculus. You will learn concrete applications of how calculus is used and, more importantly, why it works. Calculus is not a new discipline; it has been around since the days of Archimedes. However, Isaac Newton and Gottfried Leibniz, two 17th-century European mathematicians concurrently working on the same intellectual discovery hundreds of miles apart, were responsible for developing the field as we know it today. This brings us to our first question, what is today's Calculus? In its simplest terms, calculus is the study of functions, rates of change, and continuity. While you may have cultivated a basic understanding of functions in previous math courses, in this course you will come to a more advanced understanding of their complexity, learning to take a closer look at their behaviors and nuances. In this course, we will address three major topics: limits, derivatives, and integrals, as well as study their respective foundations and a…
This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. In addition, this course covers generating functions and real asymptotics and then introduces the symbolic method in the context of applications in the analysis of algorithms and basic structures such as permutations, trees, strings, words, and mappings.
Analytic Combinatorics teaches a calculus that enables precise quantitative predictions of large combinatorial structures. This course introduces the symbolic method to derive functional relations among ordinary, exponential, and multivariate generating functions, and methods in complex analysis for deriving accurate asymptotics from the GF equations.
This course is the second installment of Single-Variable Calculus. In Part I (MA101) [1], we studied limits, derivatives, and basic integrals as a means to understand the behavior of functions. In this course (Part II), we will extend our differentiation and integration abilities and apply the techniques we have learned. Additional integration techniques, in particular, are a major part of the course. In Part I, we learned how to integrate by various formulas and by reversing the chain rule through the technique of substitution. In Part II, we will learn some clever uses of substitution, how to reverse the product rule for differentiation through a technique called integration by parts, and how to rewrite trigonometric and rational integrands that look impossible into simpler forms. Series, while a major topic in their own right, also serve to extend our integration reach: they culminate in an application that lets you integrate almost any function you’d like. Integration allows us to calculat…
This course is an introduction to linear algebra. It has been argued that linear algebra constitutes half of all mathematics. Whether or not everyone would agree with that, it is certainly true that practically every modern technology relies on linear algebra to simplify the computations required for Internet searches, 3-D animation, coordination of safety systems, financial trading, air traffic control, and everything in between. Linear algebra can be viewed either as the study of linear equations or as the study of vectors. It is tied to analytic geometry; practically speaking, this means that almost every fact you will learn in this course has a picture associated with it. Learning to connect the facts with their geometric interpretation will be very useful for you. The book which is used in the course focuses both on the theoretical aspects as well as the applied aspects of linear algebra. As a result, you will be able to learn the geometric interpretations of many of the algebraic concepts…
In this course, you will look at the properties behind the basic concepts of probability and statistics and focus on applications of statistical knowledge. You will learn about how statistics and probability work together. The subject of statistics involves the study of methods for collecting, summarizing, and interpreting data. Statistics formalizes the process of making decisions, and this course is designed to help you use statistical literacy to make better decisions. Note that this course has applications for the natural sciences, economics, computer science, finance, psychology, sociology, criminology, and many other fields. We read data in articles and reports every day. After finishing this course, you should be comfortable evaluating an author's use of data. You will be able to extract information from articles and display that information effectively. You will also be able to understand the basics of how to draw statistical conclusions. This course will begin with descriptive statistic…
Because we have compiler programs, software developers often take the process of compilation for granted. However, as a software developer, you should cultivate a solid understanding of how compilers work in order to develop the strongest code possible and fully understand its underlying language. In addition, the compilation process comprises techniques that are applicable to the development of many software applications. As such, this course will introduce you to the compilation process, present foundational topics on formal languages and outline each of the essential compiler steps: scanning, parsing, translation and semantic analysis, code generation, and optimization. By the end of the class, you will have a strong understanding of what it means to compile a program, what happens in the process of translating a higher-level language into a lower-level language, and the applicability of the steps of the compilation process to other applications.
This course introduces the concepts, applications, algorithms, programming, and design of recommender systems--software systems that recommend products or information, often based on extensive personalization. Learn how web merchants such as Amazon.com personalize product suggestions and how to apply the same techniques in your own systems!
The World Wide Web (WWW) has become the primary means by which we conduct searches and perform billing transactionsevents that can only occur with the support of specific applications. The purpose of this course is to introduce you to the design and development of such applications. This course will expose you to the basic fundamentals of the Internet and Web protocols, the different architectures that Web-related applications use, and the programming languages that enable the development of Web applications, placing particular emphasis on JavaScript, HTML, XML, AJAX, and Java Server Pages (JSP). We will also cover matters of security and reliability in the development of web applications via the use of transport encryption and authentication.
This course focuses on the fundamentals of information security that are used in protecting both the information present in computer storage as well as information traveling over computer networks. Interest in information security has been spurred by the pervasive use of computer-based applications such as information systems, databases, and the Internet. Information security has also emerged as a national goal in the United States and in other countries with national defense and homeland security implications. Information security is enabled through securing data, computers, and networks. In this course, we will look into such topics as fundamentals of information security, computer security technology and principles, access control mechanisms, cryptography algorithms, software security, physical security, and security management and risk assessment. By the end of this course, you will be able to describe major information security issues and trends, and advise an individual seeking to protect his or her dat…
User dependency on the Internet increases every day; nowadays, everyday tasks like paying bills, communicating with others, and applying for jobs are all routinely carried out via the Internet. While the Internet represents a huge network, it is meaningless without the applications that it supports. These applications enable user interaction and facilitate everyday activities. In this course, we will learn about the design and implementation of network-based applications, focusing on Object-Oriented Programming and programming techniques both at the application layer and the transport layer of the TCP/IP protocol stack. Additional concepts covered include text transport (moving text from one computer to another over the network), data transport, object transport, remote function calls, and, finally, class transport. You will approach these concepts from an Object-Oriented point of view, learning to implement design patterns in your code in order to ensure software reusability (a highly desirable fea…
This course will present advanced topics in Artificial Intelligence (AI). We will begin by defining the term “software agent” and discussing how software agents differ from programs in general. We will then take a look at those problems in the field of AI that tend to receive the most attention. Different researchers approach these problems differently. In this course, we will focus on how to build and search graph data structures needed to create software agents, an approach that you will find useful for solving many problems in AI. We will also learn to “break down” larger problems into a number of more specific, manageable sub-problems. In the latter portion of this course, we will review the study of logic and conceptualize the differences between propositional logic, first-order logic, fuzzy logic, and default logic. After learning about statistical tools commonly used in AI and about the basic symbol system used to represent knowledge, we will focus on artificial neural network and…
Trusted paper writing service WriteMyPaper.Today will write the papers of any difficulty.