When students enter Episcopal High School they come with a variety of computer skills.
Tech 101 allows those students with minimal computer skills to learn the basics of computer usage, while challenging those with more advanced computer skills to use their skills in fun ways. Tech 101 teaches all new students how to care for their laptops, how to use the School’s network properly, and how to use the Internet safely. Indirectly, Tech 101 also teaches all new students how to be more effective students by teaching them organizational skills and how to follow directions.
Content
- How to use the EHS network
- Understanding the differences between wired, wireless, and workstation-only connection
- Understanding the use of the F:\ drive (students’ personal space on the EHSNet)
- Effectively accessing and using GroupWise e-mail
- The potential dangers of “banned software”
- Laptop care and feeding
- Using the EHS intranet
- Using Blackboard
- Installing and using printers
- Understanding the proper use of the Internet
- The effects of cyberbullying
- The proper use of social sites
- Staying safe while online
- Understanding the different types of intellectual property
- The consequences of plagiarism
- Effective use of PowerPoint
- Understanding the damage caused by malicious code and viruses
- Effective ways to prevent infection
Skill Objectives
- To be able to log in properly to the EHS network
- To be able to distinguish between a wired connection, a wireless connection, and a computer-only connection
- To be able to locate the students’ individual network drive, create folders, and save to the EHS network for backup purposes
- To be able to log in to GroupWise email
- To be able to send email, open attachments safely, send attachments, save email attachments, and identify the proper use of mass email
- To be able to identify “banned software” and the potential danger and damages created when installed
- To be able to identify ways to keep the laptop safe from physical damage
- To become familiar with the EHS intranet and be able to locate important links
- To be able to log in and locate announcements, tour information, classes, and all course material posted on Blackboard (assignments, tests, etc.)
- To be able to locate and install dorm and classroom printers
- To be able to follow directions which are given for an Internet scavenger hunt to become more familiar with using the Internet
- To be able to effectively identify ways that cyberbullying is more detrimental than in-person bullying
- To be able to name several ways to prevent cyberbullying
- To define social sites and how they are typically used
- To be able to identify proper ways to use social sites
- To be able to identify effective ways to stay safe while online and surfing the Internet
- To be able to define intellectual property and distinguish between what is in the public domain and what is not
- To be able to define plagiarism and list consequences of using plagiarized works
- To be able to create a PowerPoint and in so doing identify whether its content/context is, or is not, appropriate for oral presentation
- To be able to distinguish the difference between malware and viruses
- To be able to effectively perform updates of protection software and run scans
Methods of Evaluation
- Assignments
- Survey
- Quiz
The art of programming is the putting together of a set of instructions for a computer so that the machine can solve the problem at hand. Emphasis will be placed on the design of structured algorithms to problems taken from a wide variety of applications, many of which are of a non-mathematical nature. No previous programming experience is expected. The Java language is used in this course. Therefore, there is an emphasis placed on object-oriented programming.
Content
- Introduction to Object-Oriented Programming and Problem Solving
- Elements of Java
- Classes and Methods
- Numeric Types
- Branching and Method Algorithm Design
- Loops and Files
- Control Structures
- Object-Oriented Software Engineering
- Arrays
- Inheritance, Polymorphism, and Scope*
- Array-Based Lists*
- Data Structures and Collections*
- Recursion*
- Applets*
* if time permits
Skill Objectives
- List the basic stages involved in writing a computer application
- Distinguish between hardware and software
- List the ways of structuring code in a Java application
- Name several problem-solving techniques
- Choose an applicable problem-solving technique
- Identify the objects from the statement of a problem
- Read and understand the formal syntax rules governing Java programs
- Distinguish between reserved words and identifiers
- Create and recognize legal Java identifiers
- Write simple output statements using the System.out class
- Construct a Java application
- Declare fields of type char and string
- Assign values to variables
- Construct string expressions
- Use comments appropriately
- Instantiate a Scanner object
- Write string input operations using the Scanner class
- Design an interactive user interface
- Determine the attributes and responsibilities of a class
- Write the heading for a new class, the class declarations, an instance method, a class method, a constructor, a helper method, and a value-returning method
- Assemble class declarations into a working class
- Declare named constants and variables of types int and double
- Construct and evaluate arithmetic expressions
- Read numeric values using the methods of the Scanner class
- Use Java math methods in expressions
- Use relational operators >, <, <=, >=, ==, and !=
- Construct logical (Boolean) expressions to evaluate the truth value of a given condition
- Construct various forms of if and if-else statements to perform specific tasks
- Apply functional decomposition to design a method algorithm
- Construct count-controlled and event-controlled loops using a while statement
- Use flags and end-of-file conditions to control loops
- Write applications that use data files for input and output using appropriate statements to read from and write to a text file
- Write a switch statement for a multiway branching problem
- Write a do statement and contrast it with a while statement
- Write a for statement as an alternative to a while statement
- Use the Java exception-handling facilities try, catch, and throw
- Declare and use an enum type
- Develop mutator and accessor methods
- Convert a CRC card into a Java class
- Draw a UML class diagram
- Declare and instantiate a one-dimensional array
- Access and manipulate the components in a one-dimensional array in which the components are either atomic or composite types
- Declare and instantiate a two-dimensional array
- Perform fundamental operations on the elements of a two-dimensional array by both rows and columns where the components are either atomic or composite types
Materials
-
Programming and Problem Solving with Java (second edition) with student CD
-
TextPad software
- Some handouts are also distributed
- http://java.sun.com
Methods of Evaluation
- Programming projects
- Homework—end-of-chapter problems
- Quizzes
This information describes the second semester of programming following the semester of the Introduction to Computer Programming course. It covers the A level curriculum as described in the College Board's Advanced Placement course description for computer science (the "acorn" booklet). The up-to-date course description and information can be found at the College Board's website. The A course is roughly equivalent to the college CS-1 curriculum and may receive a one-year credit in college.
Content
- Introduction to hardware and software
- Introduction to software development
- Objects and classes
- Algorithms
- ava syntax and style
- Data types, variables, and arithmetic
- Boolean expressions and if-else constructs
- Iterative statements: while, for, do-while
- Implementation of classes and objects
- Strings
- Class hierarchies and interfaces
- Arrays and ArrayLists
- Searching and sorting
- Big-O analysis of algorithms
- Gridworld case study
- Ethical and social implication of computer use
Skill Objectives
- To be able to differentiate between hardware and software
- To be able to represent how information is stored in memory
- To be able to differentiate between compilers and interpreters
- To be able to explain the importance of the JVM and bytecode
- To be able to define a class and instantiate objects from that class in an application
- To be able to use fields, constructors, and methods (void and value return)
- To be able to write a good algorithm showing understanding of iteration and recursion
- To be able to use comments, proper syntax, and proper style in Java code
- To be able to use fields and variables of various primitive types
- To be able to display understanding of the concept of scope
- To be able to simplify and use arithmetic expressions, compound assignments, and increment/decrement operators
- To be able to use Boolean expressions and data type
- To be able to use arithmetic, relational, and logical operators correctly and in the correct order
- To be able to use switch, if, if-else and nested if-else structures
- To be able to use while, for, and do-while structures (return and break)
- To be able to use modifiers such as public, private, static, and final properly
- To be able to define constructors and void, return value, accessor, and modifier methods
- To be able to work with the string class and the methods contained therein
- To be able to design class hierarchies and demonstrate the use of inheritance
- To be able to demonstrate the use of polymorphism
- To be able to implement one- and two-dimensional arrays and ArrayList objects
- To be able to analyze algorithms—in particular various sorting and searching techniques using Big-O analysis
- To be able to understand, analyze, and implement recursive algorithms
- To be able to recognize searching techniques: sequential, binary search, and their Big-O comparison if appropriate
- To be able to recognize sorting techniques: selection sort, insertion sort, bubble sort, mergesort, quicksort, and heapsort, and their Big-O comparisons
- To be able to work with and understand the College Board’s case study
Materials
- Litvin, Maria, and Gary Litvin. Java Methods A and AB: Object-Oriented Programming and
Data Structures, AP Edition, Andover, Mass.: Skylight Publishing, 2006.
- The College Board’s GridWorld case study.
- Wirth, Nicklaus. Algorithms + Data Structures = Programs, Englewood Cliffs, NJ: Prentice-
Hall, Inc., 1976.
- Current magazine and Internet articles discussing ethical and social issues related to computer use
- Additional resources available at http://www.skylit.com/javamethods and
http://www.skylit.com/oop
Methods of Evaluation
- Programming projects
- Quizzes
- Tests
- Exam
This course is designed for students who have limited or no knowledge of the Linux Operating System. It introduces the knowledge and skills needed to work with Linux and prepares them to take the Novell CLA exam. Students are required to have only basic computer skills on any operating system. Knowledge of a desktop operating system is sufficient.
Content
- Getting to Know SUSE Linux Enterprise 11
- Locate and use help resources
- Manage the Linux file system
- Work with the Linux shell and command line interface (CLI)
- Administer Linux with YaST
- Manage users, groups and permissions
- Use the vi Linux text editor
- Manage software for SUSE Linux Enterprise 11
- Install SUSE Linux Enterprise 11
- Manage system initialization
- Administer Linux processes and services
- Administer the Linux file system
- Configure the network
- Manage hardware
- Configure remote access
- Monitor SUSE Linux Enterprise 11
- Automate tasks
- Manage backup and recovery
- Administer user access and system security
Skill Objectives
- To be able to perform basic tasks in SUSE Linux Enterprise 11
- To be able to use the GNOME desktop environment
- To be able to access the CLI from the desktop
- To be able to access and use man pages
- To be able to access and use info pages
- To be able to access release notes and white papers on the Internet
- To be able use GUI-based help
- To be able to understand the File System Hierarchy Standard (FHS)
- To be able to manage directories and files with the CLI and Nautilus
- To be able to find files on a Linux system
- To be able to search file content
- To be able to understand the concept of a command shell
- To be able to execute commands at the CLI
- To be able to work with variables and aliases
- To be able to understand command syntax and special characters
- To be able to use piping and redirection
- To be able to manage the network configuration information using YaST
- To be able to manage user and group accounts with YaST and the CLI
- To be able to describe basic Linux user security features
- To be able to manage file permissions and ownership
- To be able to work with different aspects of file system security
- To be able to use the vi editor to edit text and configuration files
- To be able to manage software with YaST
- To be able to manage RPM software packages
- To be able to manage software with zipper
- To be able to perform a SLES 11 and SLED 11 installations
- To be able to troubleshoot the installation process
- To be able to describe the Linux load procedure
- To be able to manage GRUB (Grand Unified Bootloader)
- To be able to manage runlevels
- To be able to describe how Linux processes work and manage them
- To be able to select an appropriate Linux file system
- To be able to configure file system partitions
- To be able to manage Linux file systems
- To be able to configure LVM and software RAID
- To be able to set up and configure disk quotas
- To be able to set up network interfaces and routing using the ip tool
- To be able to test network connections with CLI tools
- To be able to configure hostname and name resolution
- To be able to describe how device drivers work in Linux
- To be able to manage kernel modules manually
- To be able to describe the sysfs file system
- To be able to describe how udev works
- To be able to provide secure remote access with OpenSSH
- To be able to enable remote administration with YaST
- To be able to access remote desktops using Nomad
- To be able to use system logging services to help monitor a SUSE Linux Enterprise 11 system
- To be able to monitor login activity
- To be able to schedule jobs using cron and at daemons
- To be able to understand different backup strategys
- To be able to create backups with YaST and tar
- To be able to use the commands dd and rsync
- To be able to configure user authentication with PAM
- To be able to manage and secure the Linux user environment
- To be able to use ACLs for access control
Materials
-
SUSE Linux Enterprise 11 Fundamentals Manual version 2 by Novell Training Services—authorized courseware
- SUSE Linux Enterprise 11 Fundamentals Manual Workbook by Novell Training Services—authorized courseware
- SUSE Linux Enterprise 11 Administration Manualversion 2 by Novell Training Services—authorized courseware
- SUSE Linux Enterprise Administration Manual Workbook by Novell Training Services—authorized courseware
- http://www.novell.com/
Methods of Evaluation
- Labs and accompanying write-ups
- Quizzes
- Exam
ADVANCED LINUX
This course is designed for students who have an intermediate level knowledge of Linux, including general system configuration and command line work. Configuration of an Apache web server, a SAMBA server, and a print server are examples of topics covered. This cours in combination with Linux Fundamentals will prepare the student for the Novell CLP (Certified Linux Professional) certification practicum. Prerequisites: Linux Fundamentals and by department permission.
Content
- Enable fundamental network services
- Manage printing
- Configure and use OpenLDAP
- Configure and use Samba
- Configure a web server
- Configure and use IPv6
- Perform a health check and performance tuning
- Create shell scripts
- Deploy SUSE Enterprise Linux Enterprise 11
- Manage virtualization with Xen
Skill Objectives
- To be able to configure NFS (Network File System)
- To be able to configure time on SUSE Enterprise Server 11
- To be able to enable the extended internet daemon (xinetd)
- To be able to enable an FTP server
- To be able to configure CUPS (printing system)
- To be able to manage print jobs and queues
- To be able to configure and manage print server access
- To be able to describe how LDAP works
- To be able to install and configure OpenLDAP on SLES 11
- To be able to add, modify and delete entries to the LDAP directory tree
- To be able to describe the role and function of Samba
- To be able to configure a simple file server with Samba
- To be able to configure Samba authentication
- To be able to use Samba’s client tools
- To be able to use Samba as a domain controller
- To be able to integrate Samba into a Window’s domain
- To be able to set up a basic web server with Apache
- To be able to configure virtual hosts on a web server
- To be able to limit access to a web server
- To be able to configure Apache with OpenSSL
- To be able to install PHP on an Apache web server
- To be able to understand IPv6 theory
- To be able to configure IPv6 on SLE 11
- To be able to find performance bottlenecks on a SLES 11 system
- To be able to reduce system and memory load on a SLES 11 system
- To be able to optimize the storage system on a SLES 11 system
- To be able to tune the network performance
- To be able to write Bash shell scripts implementing variables, control structures, arithmetic operators, user input, etc.
- To be able to use commands such as date, grep, sed and test in scripts
- To be able to implement AutoYaST
- To be able to set up and use an installation server
- To be able to set up PXE boot for installation
- To be able to perform an automated installation
- To be able to understand how virtualization with Xen works
- To be able to manage Xen domains with Virt-Manager and from the CLI
- To be able to understand Xen networking
Materials
-
SUSE Linux Enterprise Server 11 Administration Manual by Novell Training Services—authorized courseware
- SUSE Linux Enterprise Server 11 Administration Manual Workbook by Novell Training Services—authorized courseware
- http://www.novell.com/
Methods of Evaluation
- Labs with accompanying write-ups
-
Quizzes
-
Exam