This course teaches the necessary skills to create web pages using hypertext markup language (HTML) and a web page editor. Topics include www browsers and display resolution anchors and links, image maps, file size management, and accessibility. Copyright issues will also be discussed. The course will use an exercise-oriented approach.
The purpose of this course is to help students reflect upon the vexing ethical dilemmas and problems emerging in the information age. Legal issues involving current computer law will be discussed. Students are required to research a current topic in information ethics and present their findings to the class.
This beginning Web development course introduces basic Web design and publishing concepts and best practices. Students will create web pages with HTML5 and will learn to configure text, color, and page layout with Cascading Style Sheets (CSS). They will explore a number of free, cloud-based Web editors. Additional topics include: Web site hosting and promotion, search engine optimization, accessibility, and JaveScript.
Computer science is the study of what can be computed and how to compute it. The principles of computer science have far reaching interest in diverse fields, including: business (coordinating accounts across branches), medicine (optimization of the exchange of organs among pools of donors and recipients), and literature (retrieval of information from ancient texts from new databases). With the common and useful computer language Python, you will be able to: describe the basic principles of how computers work, break complex tasks into manageable components, and model and simulate data for problems that have many or no computable solutions.
This course provides an introduction to computer fundamentals and information systems. Topics include basic information systems components, database systems, decision support systems, and computer security considerations. The use of appropriate software packages will be included as lab assignments.
An introduction to computer science, which include topics such as software engineering, computer architecture, and programming languages. Emphasis on learning the styles, techniques, and methodologies necessary to design and develop readable and efficient programs.
A broadening of foundations for computer science with advanced concepts in software engineering and program development. Topics include an introduction to data structures, analysis of algorithms, and object-oriented design.
An introduction to the discipline of data science, which uses computer-based tools to extract knowledge from data. This course introduces the student to data science practices and basic theory using practical, hands-on examples that explore methods of data manipulation, basic modeling techniques, and data visualization using modern data science programming tools.
This course will acquaint students with applications and the logical structure of database management systems and database processing. Discussion of database systems and design of special projects utilizing different query and other high-level programming languages reinforces the theoretical concepts.
Students will be introduced to the fields of genetics and genomics with an emphasis on understanding how genetic technology affects their everyday lives and how the general public learns about and uses new genetic technology. Students will learn the material through lecture, discussion, case studies, and reading the scientific literature. The course will also feature guest lectures from members of the community involved in big data in medicine. Finally, students will apply their knowledge by analyzing data from the Sanford data collaborative data set and presenting their findings to a general audience.
This course stresses application of computer software to management and commercial areas using COBOL as the primary programming language. Applications will be to particular problems in business and management. Topics include; sequential, indexed sequential and relative file processing techniques within a business environment. The structured design and implementation of the programming projects utilize file creation, editing and updating concepts.
This course is designed to provide a guide for programmers to develop web applications using popular web programming languages such as JavaScript and Perl. Web pages created using basic HTML are static. We will learn how to use web programming languages to bring web pages to life by adding dynamic content such as scrolling messages, animation, data input forums and interactive quizzes. We will discuss how to maintain and process clients' information using cookies and server-side processing.
This course provides an overview of the C++ programming language.
This course is designed to provide students with an introduction to the organization and architecture of digital computer systems. Topics include number systems, binary arithmetic, Boolean algebra, combinatorial and sequential logic circuits, and computer system components and their interrelationships. This course consists of both a lecture and a lab portion of hands-on hardware manipulation.
This course provides an introduction to the analysis and design of business information systems. Concentrates on the analysis phase of systems development. Covers systems development life cycle, feasibility studies, analysis of user requirements, and development of logical system models.
This course investigates various representations for several advanced data structures as well as compares and analyzes various algorithms for manipulating such data structures. Data structures examined include stack, queue, list, tree, and graph. Algorithms for sorting, searching, and memory management will also be examined.
Network administration is one of the fastest growing fields in information technology. This course is designed to provide you with a thorough grounding in various networking systems, including hands-on activities in installation, configuration, and administration of local area networks.
This course provides an introduction to fundamental operating systems concepts. Topics include the process model of computation and concurrent processes, inter-process communication and synchronization, process scheduling, deadlock, memory management, paging and segmentation, and file systems.
Business intelligence is the use of information systems to inform managerial decisions. Businesses today have access to data in unprecedented volume, but often lack the expertise to leverage data for competitive advantage. In addition, companies often miss opportunities to guide strategic decision making because they do not gather or track the correct metrics. This course provides students with the skills to gather, analyze, and transform data into meaningful information.
This course provides an introduction to the fundamentals of interactive computer graphics. Topics include graphics hardware, fundamental algorithms, two-and three-dimensional imaging geometry and transformations, curve and surface design, rendering, shading, color, and animation.
In a data-rich, data-driven society, it is increasingly important to be able to tell a story with data. This course introduces the student to the fundamentals of advanced data visualization techniques, using both interactive computer visualizations and publication ready charts to display data and communicate model results. Whether your interests are related to business or science, effective, accurate, and ethical communication is essential in today’s data-centric world.
The fundamentals of data structures will be studied from an object-oriented perspective. Data structures discussed will include linked lists, stacks, queues, tress, sets, maps, hash tables, heaps and graphs. Concepts such as genetic types, iterators, file compression and dynamic programming will also be addressed.
This course offers an introduction to the foundations of computing. Topics include different models of computation such as finite automata, push-down automata, Turing Machines, and regular expressions; grammars and parsing techniques; solvable and unsolvable problems; and P and NP complexity classes.
This course provides students with a hands-on experience in applying project management and systems analysis, design and implementation. Students will work with local business professionals in the design and delivery of a project.
This course is designed to teach the full-fledged software development cycle, with a team project utilizing CASE tools. Topics include testing and validation, metrics and complexity, software reliability and fault tolerance.
The objective of this course is to teach the student the basic principles involved in the design and operation of computer networks. Topics include computer network architectures and models, physical media and signaling, data link protocols, medium access control, routing and IP, transport services including TCP/UDP, network applications, local-area and wide-area networks. The course will consist of both a lecture portion and a hands-on laboratory.
The course introduces students to the history of parallel computing and the most recent developments and trends. The course covers architectures, systems software, languages and user-level software, and performance evaluation. Topics include speedup and scalability, MIMD architectures, SIMD architectures, shared-memory multi-processors, interconnection networks, data flow architectures, workstation clusters, synchronization and communication, memory and address space management, cache coherence, process management and scheduling, parallel languages and compiler techniques, parallel programming environments and tools.
This course introduces the student to various aspects of artificial intelligence (AI), whose goals are the creation of more useful machines by making them more "intelligent." Topics include symbolic programming, representation and logic, search, learning, planning, uncertainty, image processing, natural language processing, genetic algorithms. Techniques learned are applied in a robotics laboratory to the control and manipulation of a mobile robot.
Special Topics in Computer Science