Online courses directory (275)
This course will introduce you to modern operating systems. We will focus on UNIX-based operating systems, though we will also learn about alternative operating systems, including Windows. The course will begin with an overview of the structure of modern operating systems. Over the course of the subsequent units, we will discuss the history of modern computers, analyze in detail each of the major components of an operating system (from processes to threads), and explore more advanced topics in the field, including memory management and file input/output. The class will conclude with a discussion of various system-related security issues.
The Internet has become one of the most important components of our life. We browse the Web, check e-mails, make VoIP phone calls, and have video conferences via computers. All of these applications are made possible by networking computers together, and this complex network of computers is usually referred to as the Internet. This course is designed to give you a clear understanding of how networks, from in-home local area networks, or LANS, to the massive and global Internet, are built and how they allow us to use computers to share information and communicate with one another. Unit 1 introduces you to an explanation of what computer networks are as well as to some basic terminology fundamental to understanding computer networks. You will also familiarize yourself with the concept of layers, which compose the framework around which networks are built. Next, Unit 2 explains the concept of protocols. A computer communication (or network) protocol defines rules and conventions for communication between netwo…
Though we may not recognize them in our everyday activities, databases are everywhere. They are hidden behind your online banking profile, airline reservation systems, medical records, and even employment records. This course will provide students with a general overview of databases, introducing you to database history, modern database systems, the different models used to design a database, and Structured Query Language (SQL), which is the standard language used to access and manipulate databases. Many of the principles of database systems carry to other areas in computer science, especially operating systems. Databases are often thought of as one of the core computer science topics, since many other areas in the discipline have been derived from this area.
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 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…
Cryptography is essentially the science of writing in secret code. In data and telecommunications, cryptography has specific security requirements, such as authentication, privacy or confidentiality, integrity, and non-repudiation. To meet these security requirements, we employ secret key (or symmetric) cryptography, public-key (or asymmetric) cryptography, and hash functions. In the first part of the course, we will review a number of different ciphers that were used before World War II. These ciphers would be easily broken nowadays, since cryptography has advanced quickly over the past couple of decades with the advent of modern computers. We will cover block cipher algorithms and describe the advanced encryption standard for a symmetric-key encryption adopted by the U.S. government. We will also learn about the important MD5 and SHA-1 hash functions as well as the message authentication code. This course will focus on public key cryptography, which is best exemplified by the RSA algorithm (na…
While CS403: Introduction to Modern Database Systems [1] covered many of the core concepts behind database management systems, there are many other considerations that should be addressed if you intend to pursue a career in this field. This course will expand upon what you learned about SQL in CS403 and introduce various other advanced topics, including query optimization, concurrency, data warehouses, object-oriented extensions, and XML. While CS403 introduced the basics of database management systems, the additional topics covered in this course will help you become more proficient in writing queries and will expand your knowledge base so that you have a better understanding of the field. By the end of this course, you should have a solid grasp on data warehouses and XML, which will prove to be invaluable as you progress further in your Computer Science studies. [1] http://www.saylor.org/courses/cs403/…
Technology continues to evolve and provide us with increasingly powerful mobile devices. As a result, applications that can run on a browser must also be written such that they are compatible with mobile devices, the majority of which are now web-enabled. Meanwhile, there is an increasing demand for native applications that can be downloaded to and run on mobile devices. This course will address these trends, teaching you to think about the unique design and deployment issues that must be taken into consideration when developing applications for mobile devices. This course will expand upon what has been covered in CS305: Web Development [1]. We will specifically look at the tools used to design mobile applications. We will learn about mobile platforms, mobile browsers, native applications, and best practices in terms of test usability. [1] http://www.saylor.org/courses/cs305/…
This course provides students with a comprehensive introduction to computers. Students will explore a variety of topics in computing, such as the following: the components of a computer, common computer terminology, an introduction to the Internet, computer security and privacy, computer troubleshooting techniques, and steps to maintain the life of your computer. Through readings and videos, students will learn how to fully understand the basics of computer technology.
This course is designed for the novice who has little or no word processing experience. The course provides an introduction to word processing. You will explore word processing skills while also learning to create a basic business letter and a business memo. Although the resources in this course use Microsoft Word 2010, it should be noted that all of the basic skills and tasks that you will be asked can be done on any word processing program. If you stay flexible enough in your own word processing program to search out the commands and icons on whatever software you are using, you will succeed. The most current version of Microsoft Word was selected, because it would be most beneficial to the job seeker. In addition most colleges, universities, and some public libraries are using a newer version of Word. You can complete this course using any word processing software, but if you are using an older version of Word, you may also want to seek out a resource where you can interact with the newer v…
This course will provide you with a comprehensive introduction to spreadsheets. The course is designed for first-time users with very little or no exposure to the subject. For this course, you will use Microsoft Excel as the software. The course will explore the following fundamental topics: an introduction to spreadsheets, terminology in Excel, components of a spreadsheet, what a cell consists of, and the creation of a spreadsheet for practical use. You will examine sample files, videos, and books that will enable you to gain practical knowledge about spreadsheets that can be used in daily life, either at work, school, or home.
Do you see yourself as a non-creative individual? Do you want to learn to effectively design and create sharper and more successful websites and graphics from the ground up? This course will teach the basics plus a whole lot more to help get you on the road to creating, designing and implementing solid designs for the web! In this introductory course, basic design thinking, theory and practice will be explored in an easy to absorb, fun and relaxed environment. Students will begin by understanding and implementing the foundations of design: the basic elements and principles of design. These elements and principles are applicable to all design mediums such as architecture, art, graphic design, photography, print and web design. Special emphasis will be given to the application of these principles and elements, along with color and typography, to the medium of web design. For students who have not had formal training in design, this course will bring them up to speed with the fundamentals of design, while learning how to apply these concepts to web and graphic design. For students who have received previous design training, this course will offer new techniques, tips and tricks, and new ways of thinking of design fundamentals while applying these concepts to the electronic mediums of web design and graphics for the web.
Modern society across the world is becoming increasingly dependent on communication networks. We depend on them for the smooth operation of economic and social activities. This course examines networks as the means of interconnecting devices so that two-way communication is possible. It examines protocols like HTTP, TCP/IP and ATM as well as the OSI reference model, and provides an overview of the topic for learners who have no significant prior knowledge of the subject. The main topics covered in this course are: Internet protocol (IP), the Open Systems Interconnection (OSI) model, Transmission Control Protocol (TCP), Hypertext transfer protocol (HTTP), and Asynchronous Transfer Mode (ATM). Areas that are also covered include the layers of communication, vertical and horizontal communication, protocol architecture, Domain name system, the ATM layers, and an analysis of IP over ATM. This course will be of interest to professionals who work in information technology, network design, and network management, and will also be of interest to students who would like a greater understanding of how networks function.<br />
Digital Media One is a four-week online course designed for students who want to learn digital media. This may include artists, designers, or photographers who would like to build a Web site or Web portfolio to showcase their work, as well as students who would like to learn more about the curriculum of Peninsula College
The C programming language is one of the most popular and widely used programming languages and is commonly used to program operating systems such as Unix. It is a general-purpose programming language and one of the main advantages of programming in C is that it allows the programmer to write directly to memory. This means that key constructs within C-generated software programs can be used within the memory in an efficient and machine-independent fashion. <br /><br />ALISON's free online C programming Diploma course introduces you to the important concepts when programming in C. You will learn how the C programming language works with data, what program flow is, and how to use functions, methods and routines. You will be introduced to conditional flow statements, the mechanisms for controlling flow statements, and how to implement simple statements. Logical operators such as OR, GOTO and the While loop are also discussed in detail. The course covers topics such as using pointers for direct memory access and manipulation in C, changing the memory address contained within a pointer and introduces constants and string literals. You will learn why pointers contain memory addresses of multi-byte variables, and how to visualize RAM in a new way. You will also get step by step instructions on how to create simple C programs and how to run them. <br /><br />This free online C programming Diploma course will be of great interest to all IT, software and computer professionals who would like a greater knowledge and understanding of the C programming language and its key concepts and features, and to learners who would like to learn more about this widely used programming language.<br />
Trusted paper writing service WriteMyPaper.Today will write the papers of any difficulty.