200
This course explores the field of computer science. It provides an overview of computer architecture, networking, data organization, information security, and computational theory. Students will be introduced to fundamental concepts underlying all of computing, such as algorithms, abstractions, and how computers represent numbers, text, images, and sound. Students will learn the basics of programming and computational problem solving.
3
Prerequisites
13-120 or 3 years of high school Mathematics, including Trigonometry.
A study of computer organization, data types, expressions, logical structures, subprograms (subroutines and functions), recursion, structured data types (arrays and records), dynamically allocated data, array-based lists, linked lists, stacks, queues, graphs, trees, sorting, and searching.
3
Prerequisites
70-200 or
70-315.
Students are introduced to the Unix operating system, including installation, configuration, administration, and on-line documentation. Networking with TCP/IP is presented, together with an introduction to apache (http server) and samba (file and printer server). Security controls in Unix and operating system virtualization are also discussed.
3
Prerequisites
Prior or concurrent registration in
70-200.
This course introduces computer programming using the Visual BASIC programming language with object-oriented programming designs and principles. The Microsoft .NET framework is used to develop applications. Emphasis is placed on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger. An introduction to databases and ASP .NET applications is also discussed.
3
Prerequisites
70-200.
Students will learn to design and develop software using the object-oriented approach. Topics include encapsulation, inheritance, polymorphism, abstraction, and patterns. Students will learn how to use an SDK to develop desktop and web applications that provide data processing and visualization services. Students will also learn how to manage threads and networking connections in software they write.
3
Prerequisites
70-210.
Languages and technologies for programming and leveraging web-based computer services securely. Languages include PHP, Perl, JavaScript, Java, Ruby, CSS, and HTML5. Technologies include relational databases, web services, Hadoop, and cloud computing platforms. This course teaches students how to develop useful applications using a variety of distributed data and programming models.
3
Prerequisites
70-200 or programming experience.
A study of concepts related to the storage, retrieval, backup, and recovery of data in file systems. Topics include the organization and processing of sequential access files, direct access files, and indexed sequential access files; RAID and disk spanning; the organization of data on a variety of storage devices; the disk boot process; identifying hidden data on a disk's Host Protected Area; analyzing various kinds of partitions; analyzing FAT, NTFS, Ext2, Ext3, UFS1, and UFS2 file systems; recovering data from deleted files and hidden file locations; and using open-source forensics tools to identify drive contents.
3
Prerequisites
70-200.
This course focuses on a specific topic in computer science that typically falls outside the established curriculum. This course enables the student to encounter content that engages an emerging question or subject in computer science. Topics will vary in accordance with areas of intense current interest.
1-3
Prerequisites
See Semester Course Schedule for prerequisites, if any.