1 of 9
CSCE 3600: Systems Programming
Major Assignment 2 – The Shell and System Calls
Due: 11:59 PM on Wednesday, November 6, 2019
COLLABORATION
You should complete this assignment as a group assignment with the other members of
your group as assigned on Canvas using our GitLab environment (i.e., the same group
you had for Major 1). If desired, you may submit only one program per group, but all
source code must be committed in GitLab. Also, make sure that you list the names of all
group members who participated in this assignment in order for each to get credit.
BACKGROUND
A shell provides a command-line interface for users. It interprets user commands and
executes them. Some shells provide simple scripting terms, such as if or while, and
allow users to make a program that facilitates their computing environment. Under the
hood, a shell is just another user program. The file /bin/bash is an executable file for
the bash shell. The only thing special about your login shell is that it is listed in your
login record so that /bin/login (i.e., the program that prompts you for your password)
knows what program to start when you log in. If you run "cat /etc/passwd", you will
see the login records of the machine.
PROGRAM DESCRIPTION
GROUP COLLABORATIVE PORTION
In this assignment, you will implement the shell “engine” as the “group” component,
where all members are responsible for the following functionality:
• A Command-Line Interpreter, or Shell
Your shell should read the line from standard input (i.e., interactive mode) or a
file (i.e., batch mode), parse the line with command and arguments, execute the
command with arguments, and then prompt for more input (i.e., the shell prompt)
when it has finished.
1. Interactive Mode
In interactive mode, you will display a prompt (any string of your choosing)
and the user of the shell will type in a command at the prompt.
2. Batch Mode
In batch mode, your shell is started by specifying a batch file on its command
line. The batch file contains the list of commands that should be executed. In
batch mode, you should not display a prompt, but you should echo each line
you read from the batch file back to the user before executing it.
You will need to use the fork() and exec() family of system calls. You may
2 of 9
not use the system() system call as it simply invokes the system’s /bin/bash
shell to do all of the work.
You may assume that arguments are separated by whitespace. You do not have
to deal with special characters such as ', ", \, etc. However, you will need to
handle the redirection operators (< and >) and the pipeline operator (|), which
will be specified in the “individual” portion of this assignment.
Each line (either in the batch file or typed at the prompt) may contain multiple
commands separate with the semicolon (;) character. Each command separated
by a ; should be run sequentially, but the shell should not print the next prompt ...
BACKGROUND A shell provides a command-line interface for users. I.docxwilcockiris
BACKGROUND
: A shell provides a command-line interface for users. It interprets user commands and executes them. Some shells provide simple scripting terms, such as
if
or
while
, and allow users to make a program that facilitates their computing environment. Under the hood, a shell is just another user program as you know from Minor2 assignment. The file
/bin/bash
is an executable program file for the bash shell. The only thing special about your login shell is that it is listed in your login record so that /bin/login (i.e., the program that prompts you for your password) knows what program to start when you log in. If you run "cat /etc/passwd", you will see the login records of the machine.
PROGRAM DESCRIPTION
GROUP COLLABORATIVE PORTION
: In this assignment, you will implement the shell “engine” as the group component, where all members are responsible for the following functionality.
A Command-Line Interpreter, or Shell
Your shell should read the line from standard input (i.e., interactive mode) or a file (i.e., batch mode), parse the line with command and arguments, execute the command with arguments, and then prompt for more input (i.e., the shell prompt) when it has finished. This is what Minor 2 program should do with addition of batch processing which means just reading a batch line by line and calling the same interpretation logic.
Batch Mode
In batch mode, your shell is started by specifying a batch file on its command line. The batch file contains the list of commands that should be executed. In batch mode, you should not display a prompt, but you should echo each line you read from the batch file back to the user before executing it. After a batch is finished the shell will exit.
Interactive Mode
No parameters specified on command line when the shell is started. In this mode, you will display a prompt (any string of your choice) and the user of the shell will type in a command at the prompt.
You will need to use the fork() and exec() family of system calls. You may not use the system() system call as it simply invokes the system’s /bin/bash shell to do all of the work. You may assume that arguments are separated by whitespace. You do not have to deal with special characters such as ', ", \, etc. You may assume that the command-line a user types is no longer than 512 bytes (including the '\n'), but you should not assume that there is any restriction on the number of arguments to a given command.
INDIVIDUAL PORTIONS
Build-in Commands:
Every shell needs to support a number of built-in commands, which are functions in the shell itself, not external programs. Shells directly make system calls to execute built-in commands, instead of forking a child process to handle them.
In this assignment, each member of the group will implement one of the following section and commit in GitLab the code that supports those commands:
Add a new built-in
alias
command that allows you to define a shortcut for commands by essenti.
OverviewIn this assignment you will write your own shell i.docxalfred4lewis58146
Overview
In this assignment you will write your own shell in C. The shell will run command line
instructions and return the results similar to other shells you have used, but without many
of their fancier features.
In this assignment you will write your own shell, called smallsh. This will work like the
bash shell you are used to using, prompting for a command line and running commands,
but it will not have many of the special features of the bash shell.
Your shell will allow for the redirection of standard input and standard output and it will
support both foreground and background processes.
Your shell will support three built in commands: exit, cd, and status. It will also support
comments, which are lines beginning with the # character.
Specifications
All execution, compiling, and testing of this program should be done from the bash
prompt on the eos-class.engr.oregonstate.edu server.
Use the colon : symbol as a prompt for each command line. Be sure you flush out the
prompt each time you print it, this makes the test script look nicer.
The general syntax of a command line is:
command [arg1 arg2 ...] [< input_file] [> output_file] [&]
…where items in square brackets are optional. You can assume that a command is made
up of words separated by spaces. The special symbols <, >, and & are recognized, but
they must be surrounded by spaces like other words. If the command is to be executed in
the background, the last word must be &. If standard input or output is to be redirected,
the > or < words followed by a filename word must appear after all the arguments. Input
redirection can appear before or after output redirection.
Your shell does not need to support any quoting; so arguments with spaces inside them
are not possible.
Your shell should support command lines with a maximum length of 2048 characters, and
a maximum of 512 arguments. You do not need to do any error checking on the syntax of
the command line.
Command Execution
You will use fork, exec, and waitpid to execute commands. The shell will wait for
completion of foreground commands (commands without the &) before prompting for the
next command. The shell will not wait for background commands to complete.
Background commands should have their standard input redirected from /dev/null if the
user did not specify some other file to take standard input from. What happens to
background commands that read from standard input if you forget this?
Your shell should use the PATH variable to look for commands, and it should allow shell
scripts to be executed (see below for the testing script, for example). The right version
of the exec function will do this for you automatically. If a command fails because the
shell could not find the command to run, then the shell will print an error message and set
the exit status to 1.
After the fork but before the exec you must do any input/output redirection. A redirected
input file should be opened for reading.
Useful Linux and Unix commands handbookWave Digitech
This article provides practical examples for most frequently used commands in Linux / UNIX. Helpful for Engineers and trainee engineers, Software developers. A handy notes for all Linux & Unix commands.
The document discusses shells and shell programming. It provides information on:
- Shells provide an interface to run commands and programs and display outputs. Common shells include Bourne, C, and other derivative shells.
- Shells prompt for commands and interpret them, passing commands to the kernel for execution and displaying outputs.
- Shell scripts allow automated execution of commands through programming constructs like variables, conditionals, loops, and functions.
The document discusses shells and shell programming. It provides information on:
- Shells provide an interface to run commands and programs and display outputs. Common shells include Bourne, C, and other derivative shells.
- Shells prompt for commands and interpret them, passing commands to the kernel for execution and displaying outputs.
- Shell scripts allow automated execution of commands through programming constructs like variables, conditionals, loops, and functions.
This document provides an overview of how to use the UNIX operating system. It discusses logging in, the home directory, common commands like ls and cd, copying and deleting files, pipes, input/output redirection, shell variables, job control, and quoting special characters. The document is intended to help new UNIX users get started with basic file management and command line tasks.
Shell programming allows users to communicate with and run commands on a UNIX system through shell programs that interpret commands. There are several types of shells including Bourne shell, Bourne Again shell, C shell, and Korn shell. Shell scripts can be written to automate tasks using shell variables, control structures, and built-in commands. System scripts use shell programming for important system processes and services.
This document provides a comprehensive list of Linux commands, files, directories, and shell variables. It begins with an introduction and then covers shorthand at the command prompt, typical dot files, useful files, important directories, bash shell variables, daemons and services, window managers, an alphabetical list of commands, and notes on applications. The document is intended to give beginners, programmers, and professionals a jumpstart on common Linux commands and essential system information. It provides high-level overviews of the key components that make up a Linux system and environment.
BACKGROUND A shell provides a command-line interface for users. I.docxwilcockiris
BACKGROUND
: A shell provides a command-line interface for users. It interprets user commands and executes them. Some shells provide simple scripting terms, such as
if
or
while
, and allow users to make a program that facilitates their computing environment. Under the hood, a shell is just another user program as you know from Minor2 assignment. The file
/bin/bash
is an executable program file for the bash shell. The only thing special about your login shell is that it is listed in your login record so that /bin/login (i.e., the program that prompts you for your password) knows what program to start when you log in. If you run "cat /etc/passwd", you will see the login records of the machine.
PROGRAM DESCRIPTION
GROUP COLLABORATIVE PORTION
: In this assignment, you will implement the shell “engine” as the group component, where all members are responsible for the following functionality.
A Command-Line Interpreter, or Shell
Your shell should read the line from standard input (i.e., interactive mode) or a file (i.e., batch mode), parse the line with command and arguments, execute the command with arguments, and then prompt for more input (i.e., the shell prompt) when it has finished. This is what Minor 2 program should do with addition of batch processing which means just reading a batch line by line and calling the same interpretation logic.
Batch Mode
In batch mode, your shell is started by specifying a batch file on its command line. The batch file contains the list of commands that should be executed. In batch mode, you should not display a prompt, but you should echo each line you read from the batch file back to the user before executing it. After a batch is finished the shell will exit.
Interactive Mode
No parameters specified on command line when the shell is started. In this mode, you will display a prompt (any string of your choice) and the user of the shell will type in a command at the prompt.
You will need to use the fork() and exec() family of system calls. You may not use the system() system call as it simply invokes the system’s /bin/bash shell to do all of the work. You may assume that arguments are separated by whitespace. You do not have to deal with special characters such as ', ", \, etc. You may assume that the command-line a user types is no longer than 512 bytes (including the '\n'), but you should not assume that there is any restriction on the number of arguments to a given command.
INDIVIDUAL PORTIONS
Build-in Commands:
Every shell needs to support a number of built-in commands, which are functions in the shell itself, not external programs. Shells directly make system calls to execute built-in commands, instead of forking a child process to handle them.
In this assignment, each member of the group will implement one of the following section and commit in GitLab the code that supports those commands:
Add a new built-in
alias
command that allows you to define a shortcut for commands by essenti.
OverviewIn this assignment you will write your own shell i.docxalfred4lewis58146
Overview
In this assignment you will write your own shell in C. The shell will run command line
instructions and return the results similar to other shells you have used, but without many
of their fancier features.
In this assignment you will write your own shell, called smallsh. This will work like the
bash shell you are used to using, prompting for a command line and running commands,
but it will not have many of the special features of the bash shell.
Your shell will allow for the redirection of standard input and standard output and it will
support both foreground and background processes.
Your shell will support three built in commands: exit, cd, and status. It will also support
comments, which are lines beginning with the # character.
Specifications
All execution, compiling, and testing of this program should be done from the bash
prompt on the eos-class.engr.oregonstate.edu server.
Use the colon : symbol as a prompt for each command line. Be sure you flush out the
prompt each time you print it, this makes the test script look nicer.
The general syntax of a command line is:
command [arg1 arg2 ...] [< input_file] [> output_file] [&]
…where items in square brackets are optional. You can assume that a command is made
up of words separated by spaces. The special symbols <, >, and & are recognized, but
they must be surrounded by spaces like other words. If the command is to be executed in
the background, the last word must be &. If standard input or output is to be redirected,
the > or < words followed by a filename word must appear after all the arguments. Input
redirection can appear before or after output redirection.
Your shell does not need to support any quoting; so arguments with spaces inside them
are not possible.
Your shell should support command lines with a maximum length of 2048 characters, and
a maximum of 512 arguments. You do not need to do any error checking on the syntax of
the command line.
Command Execution
You will use fork, exec, and waitpid to execute commands. The shell will wait for
completion of foreground commands (commands without the &) before prompting for the
next command. The shell will not wait for background commands to complete.
Background commands should have their standard input redirected from /dev/null if the
user did not specify some other file to take standard input from. What happens to
background commands that read from standard input if you forget this?
Your shell should use the PATH variable to look for commands, and it should allow shell
scripts to be executed (see below for the testing script, for example). The right version
of the exec function will do this for you automatically. If a command fails because the
shell could not find the command to run, then the shell will print an error message and set
the exit status to 1.
After the fork but before the exec you must do any input/output redirection. A redirected
input file should be opened for reading.
Useful Linux and Unix commands handbookWave Digitech
This article provides practical examples for most frequently used commands in Linux / UNIX. Helpful for Engineers and trainee engineers, Software developers. A handy notes for all Linux & Unix commands.
The document discusses shells and shell programming. It provides information on:
- Shells provide an interface to run commands and programs and display outputs. Common shells include Bourne, C, and other derivative shells.
- Shells prompt for commands and interpret them, passing commands to the kernel for execution and displaying outputs.
- Shell scripts allow automated execution of commands through programming constructs like variables, conditionals, loops, and functions.
The document discusses shells and shell programming. It provides information on:
- Shells provide an interface to run commands and programs and display outputs. Common shells include Bourne, C, and other derivative shells.
- Shells prompt for commands and interpret them, passing commands to the kernel for execution and displaying outputs.
- Shell scripts allow automated execution of commands through programming constructs like variables, conditionals, loops, and functions.
This document provides an overview of how to use the UNIX operating system. It discusses logging in, the home directory, common commands like ls and cd, copying and deleting files, pipes, input/output redirection, shell variables, job control, and quoting special characters. The document is intended to help new UNIX users get started with basic file management and command line tasks.
Shell programming allows users to communicate with and run commands on a UNIX system through shell programs that interpret commands. There are several types of shells including Bourne shell, Bourne Again shell, C shell, and Korn shell. Shell scripts can be written to automate tasks using shell variables, control structures, and built-in commands. System scripts use shell programming for important system processes and services.
This document provides a comprehensive list of Linux commands, files, directories, and shell variables. It begins with an introduction and then covers shorthand at the command prompt, typical dot files, useful files, important directories, bash shell variables, daemons and services, window managers, an alphabetical list of commands, and notes on applications. The document is intended to give beginners, programmers, and professionals a jumpstart on common Linux commands and essential system information. It provides high-level overviews of the key components that make up a Linux system and environment.
VTU 3RD SEM UNIX AND SHELL PROGRAMMING SOLVED PAPERSvtunotesbysree
This document contains information about a UNIX and Shell Programming exam, including:
- The exam is for a 4th semester BE degree and covers UNIX and Shell Programming topics.
- It has two parts (A and B) and students must answer 5 full questions selecting at least 2 from each part.
- Part 1 covers topics like UNIX architecture, parent-child relationships, file systems, and file permissions.
- Part 2 covers topics like grep commands, sed editing, regular expressions, shell features, AWK and Perl programming.
The document provides an overview of shells and their functions. It discusses how shells interpret commands, execute utilities by launching child processes, and customize functionality through variables and startup files. Key points include shells acting as an interface between the user and kernel by translating commands, child processes inheriting environments, and customizations like aliases, prompts, and startup files tailoring each shell.
The document provides an overview of shells, shell scripting, and the UNIX file system. It discusses what shells are and common shells like tcsh, csh, ksh, bash, and sh. It covers shell configuration files like .cshrc and .bashrc, environment variables, the ~/bin directory, and aliases. It also gives examples of customizing shells like tcsh and bash as well as login/logout files like .login and .logout.
This document provides an introduction and overview of UNIX shell scripting. It discusses the benefits of scripting to automate repetitive tasks and make ones work at the shell easier. It then covers various topics related to shell scripting including the UNIX environment, different shells available for scripting, basics of shell scripting like variables, command line arguments, control structures, and more. The document is intended to provide a good starting point for understanding shell scripting in UNIX.
This document provides an overview of Unix shell scripting with ksh/bash. It discusses the goals of the class, which are to learn what problems are suited to shell scripts, review commonly used Unix commands for scripts, and write simple shell scripts. It also lists some assumptions, such as having a basic understanding of commands, navigation, redirection and pipes. The document then provides details on the history of different shells like sh, csh, ksh and bash, and compares their features. It also discusses other scripting languages before focusing on ksh/bash versus sh scripts.
Part 5 of "Introduction to Linux for Bioinformatics": Working the command lin...Joachim Jacob
This is part 5 of the training "introduction to linux for bioinformatics". Here we introduce more advanced use on the command line (piping, redirecting) and provide you a selection of GNU text mining and analysis tools that assist you tremendously in handling your bioinformatics data. Interested in following this training session? Contact me at http://www.jakonix.be/contact.html
The document discusses process communication and program execution in Linux. It describes various inter-process communication mechanisms like pipes, FIFOs, semaphores, shared memory, and sockets. It also explains how the kernel sets up the execution context for a new process by loading the executable file and any shared libraries. Key steps include resolving executable format, loading program code and data, and setting up memory segments for the text, data, bss, and stack.
This document provides an overview of file administration in Linux. It describes the three types of files in Linux - ordinary disk files which contain user data, special files which represent devices, and directory files which contain other files and directories. It outlines guidelines for naming files and directories, explaining which characters to avoid. It also introduces the file command for determining a file's type and describes the basic Linux directory structure with files and directories organized in a tree format.
This document provides a tutorial on Unix shell scripting. It begins with an introduction to shell scripting and why it is useful for automating tasks. It then discusses the shell scripting environment in Unix. The bulk of the document covers shell scripting basics like command redirection, variables, control structures like if/then statements and loops. It provides examples of how to use variables, command line arguments, arithmetic expansion, and other shell scripting elements to automate tasks in Unix.
Linux is a prominent example of free and open source software. It can be installed on a wide variety of devices from embedded systems to supercomputers. Linux is commonly used for servers, with estimates that it powers around 60% of web servers. Linux distributions package the Linux kernel with other software like utilities, libraries and desktop environments. Programming languages and build tools like GCC are supported. Embedded Linux is often used in devices due to its low cost and ease of modification.
This document provides an overview of Linux terminal sessions and system utilities. It discusses employing fundamental utilities like ls, wc, sort, and grep. It also covers managing input/output redirection, special characters, shell variables, environment variables, and creating shell scripts. Key topics include using utilities to list directories, count file elements, sort lines, and locate specific lines. It also discusses starting additional terminal sessions, exiting sessions, and locating the graphical terminal.
This document provides an introduction to Linux, including:
- What Linux is and where it came from, as an open source operating system created by Linus Torvalds in 1991.
- How to get Linux through downloading a distribution like Red Hat and the packages it includes.
- Why Linux has become significant due to its growing popularity, ability to run on multiple hardware platforms, and being free.
- An overview of Linux commands and utilities for file management, processes, users and permissions.
This document provides an overview of Linux, shells, and shell scripts. It begins with a short history of Linux and how it originated from efforts to create an affordable UNIX-like operating system that could run on personal computers. It then defines what a shell is and describes common shell commands. The remainder of the document explains what shell scripts are, how to write them, and includes examples of common scripting elements like variables, conditionals, loops, arithmetic, and file operations.
This document provides an overview of Linux, shells, and shell scripts. It begins with a short history of Linux and how it originated from efforts to create an affordable UNIX-like operating system that could run on personal computers. It then defines what a shell is and describes common shell commands. The remainder of the document explains what shell scripts are, how to write them, and includes examples of common scripting elements like variables, conditionals, loops, arithmetic, and file operations.
Please write the mysh program in C and follow the guidelines specifi.pdfamarndsons
Please write the mysh program in C and follow the guidelines specified below. which will read
and interpret a sequence of commands. This project will provide experience of - Posix
(unbuffered) stream IO - Reading and changing the working directory - Spawning child
processes and obtaining their exit status - Use of dup2() and pipe() - Reading the contents of a
directory Extensions In addition to the requirements that all projects must satisfy, this assignment
includes five extensions (see section 3). For full credit, your project must implement two of these
extensions. 1 Overview Your program mysh takes up to one argument. When given one
argument, it will run in batch mode. When given no arguments, it will run in interactive mode.
For full credit, your program must have one input loop and command parsing algorithm that
works for both modes. Batch mode When called with an argument, mysh will open the specified
file and interpret its contents as sequence of commands (see section2). The command are given
by lines of text, separated by newlines. mysh will execute each command as soon as it is
complete, before proceeding to execute
Interactive mode When called with no arguments, mysh will read commands from standard
input. Before reading a command, mysh will write a prompt to standard output. After executing
the command, mysh will print a new prompt and read the next command. To ensure that prompts
are printed appropriately, mysh must be careful not to call read() again if a newline character has
already been entered. mysh terminates once it reaches the end of the input file or encounters the
command exit. In this mode, mysh should print a greeting before the first prompt and a message
when terminating normally. The format of these are left to you. Prompt format When running in
interactive mode, mysh will print a prompt to indicate that it is ready to read input. The prompt is
normally the string "mysh > " (note the trailing space). If the last command failed (meaning its
exit status was non-zero), the prompt is the string "!mysh > " (that is, it is preceded by an
exclamation point). Usage Batch mode: $ cat myscript.sh echo hello $./ mysh myscript.sh hello $
Interactive mode: $./mysh Welcome to my shell! mysh > cd subdir mysh> echo hello hello
mysh> cd subsubdir mysh > pwd /current/path/subdir/subsubdir mysh> cd
directory_that_does_not_exist cd: No such file or directory !mysh> cd ... . /current/path $ exit
mysh: exiting Note the exclamation point after a failed command. 2 Command format A mysh
command comprises one or more tokens. Tokens are sequences of non-whitespace characters,
and are usually separated by whitespace. The exceptions are I, <, and >, which are considered
tokens by themselves. Thus, a string foo bar(I) is used to combine sub-commands (see section
2.4). The first token of a command (or sub-command) is the command name, which usually
identifies a program to execute (see section 2.1). The < and > tokens introduce file redirection
(s.
"PHP from soup to nuts" -- lab exercisesrICh morrow
This document provides instructions for setting up a LAMP (Linux, Apache, MySQL, PHP) development environment on Amazon Web Services (AWS) for completing a series of PHP/LAMP labs. It describes launching an EC2 Linux instance on AWS, installing the LAMP stack, and downloading lab code files. The labs cover topics like control structures, data types, input/output, forms, files, cookies, sessions, and regular expressions. Students are instructed to stop their EC2 instance each day to avoid costs when not in use.
The document provides information about the LAMP stack and its components - Linux, Apache, MySQL, and PHP. It then discusses Linux commands, directories, editors, and scheduling tasks using cron jobs. Key points are:
- LAMP is an open source software solution stack using Linux, Apache, MySQL, and PHP.
- Linux commands allow users to navigate files/folders, view processes, manage users, and more.
- Linux directories include /, /boot, /bin, /lib, /usr for storing system and user files and apps.
- Cron jobs allow scheduling commands to run periodically using a crontab file.
This document provides information about installing and configuring Linux, Apache web server, PostgreSQL database, and Apache Tomcat on a Linux system. It discusses installing Ubuntu using VirtualBox, creating users and groups, setting file permissions, important Linux files and directories. It also covers configuring Apache server and Tomcat, installing and configuring PostgreSQL, and some self-study questions about the Linux boot process, run levels, finding the kernel version and learning about NIS, NFS, and RPM package management.
Read Chapter 3. Answer the following questions1.Wha.docxShiraPrater50
Read Chapter 3
.
Answer the following questions:
1.
What can give a teacher insight into children’s language behavior?
2.
How many new words might a preschooler acquire each day?
3.
Define
receptive vocabulary and expressive vocabulary.
4.
Compare speech when a child is excited to speech when a child is embarrassed, sad, or shy.
5.
What is the focus of play for very young preschoolers?
6.
Define
regularization.
7.
What is the focus for questions during the toddler period?
8.
Define
overextension.
9.
Describe
running commentaries.
10.
List
eight (8)
possible developmental reasons and benefits of self-talk.
11.
Define
consonant and vowel.
12.
What advice should be given to families and early childhood educators?
13.
List
(four) 4
suggestions for books for younger preschoolers.
14.
List
ten (10)
expectations as preschoolers get older.
15.
Describe friendships of young preschoolers.
16. List
five (5)
areas of growth in children through group play.
17. How do children learn language?
18. Explain
relational words
and why these words are important.
19. Explain
impact words, sound words, created words
and
displaying creativity
.
20. Discuss the danger of assumptions about intelligence through language ability.
21. List
four (4)
speech and language characteristics of older preschoolers.
22. What may depress a child's vocabulary development?
23. Define
metalinguistic awareness.
24. How does physical growth affect children's perceptions of themselves?
25.
Define
mental image.
26.
Define
visual literacy.
27.
Explain the order in which motor skills are developed.
28.
Explain the
Montessori
approach to education for young children.
29. List
seventeen (17) objectives for refining perceptual-motor skills.
30.
Define
assimilation and accommodation.
31. What is a zone of proximal development?
32.
What is the teacher’s role in working with infants, toddlers and preschoolers?
33.
Define
metalinguistic skills.
34.
Define
social connectedness.
35. List
six (6)
social ability goals that serve as a strong foundation for future schooling.
.
Read Chapter 15 and answer the following questions 1. De.docxShiraPrater50
Read Chapter 15 and answer the following questions
:
1. Describe several characteristics of infants that make them different from other children.
2. What is the feeding challenge in meeting the nutritional needs of an infant?
3. Define
low-birthweight (LBW) infant
.
4. List
nine (9)
problems associated with low birth weight.
5. List
five (5)
reasons a mother may choose formula feeding instead of breast feeding.
6. List
four (4)
steps to safe handling of breast milk.
7. What
two (2)
factors determine safe preparation of formula? Briefly describe each factor.
8. Define
aseptic procedure.
9. Define
distention
and tell what causes distention.
10. Define
regurgitation, electrolytes,
and
developmental or physiological readiness.
11. Why should a bottle
NEVER
be propped and a baby left unattended while feeding?
12. When might an infant need supplemental water?
13. When should solid food be introduced to an infant? What is meant by the infant being developmentally ready?
14. Define
palmar grasp
and
pincer grip.
15. List
ten (10)
common feeding concerns. Pick
ONE
and explain why that is a concern.
Read Chapter 16 and answer the following questions:
1. Describe
toddlers and preschoolers
.
2. Define
neophobic.
3. List
three (3)
things a teacher is responsible for when feeding a toddler. List
two (2)
things for which the child is responsible.
4. Why should you
NOT
try to force a toddler to eat or be overly concerned if children are suddenly eating less?
5. Explain the results of spacing meals
too far apart
and
too close together
.
6. List a
good eating pattern
for toddlers.
7. Name several healthy snack choices for toddlers and young children.
8. List several suggestions for making eating time comfortable, pleasant and safe.
9. What changes about eating habits when a toddler develops into a preschooler?
10. Define
Down syndrome
and
Prader-Willi syndrome.
11. How can parents and teachers promote good eating habits for preschoolers?
12. When and where should rewards be offered?
13. Why should children
not
be encouraged to have a
“clean plate”?
14. List
five (5)
health conditions related to dietary patterns.
15. What is the Physical Activity Pyramid and for what is it designed?
16. List
eight (8)
common feeding concerns during toddler and preschool years. Pick
one and explain
it thoroughly.
https://books.google.com/books/about/Health_Safety_and_Nutrition_for_the_Youn.html?id=7zcaCgAAQBAJ&printsec=frontcover&source=kp_read_button#v=onepage&q&f=false
.
More Related Content
Similar to 1 of 9 CSCE 3600 Systems Programming Major Assignm.docx
VTU 3RD SEM UNIX AND SHELL PROGRAMMING SOLVED PAPERSvtunotesbysree
This document contains information about a UNIX and Shell Programming exam, including:
- The exam is for a 4th semester BE degree and covers UNIX and Shell Programming topics.
- It has two parts (A and B) and students must answer 5 full questions selecting at least 2 from each part.
- Part 1 covers topics like UNIX architecture, parent-child relationships, file systems, and file permissions.
- Part 2 covers topics like grep commands, sed editing, regular expressions, shell features, AWK and Perl programming.
The document provides an overview of shells and their functions. It discusses how shells interpret commands, execute utilities by launching child processes, and customize functionality through variables and startup files. Key points include shells acting as an interface between the user and kernel by translating commands, child processes inheriting environments, and customizations like aliases, prompts, and startup files tailoring each shell.
The document provides an overview of shells, shell scripting, and the UNIX file system. It discusses what shells are and common shells like tcsh, csh, ksh, bash, and sh. It covers shell configuration files like .cshrc and .bashrc, environment variables, the ~/bin directory, and aliases. It also gives examples of customizing shells like tcsh and bash as well as login/logout files like .login and .logout.
This document provides an introduction and overview of UNIX shell scripting. It discusses the benefits of scripting to automate repetitive tasks and make ones work at the shell easier. It then covers various topics related to shell scripting including the UNIX environment, different shells available for scripting, basics of shell scripting like variables, command line arguments, control structures, and more. The document is intended to provide a good starting point for understanding shell scripting in UNIX.
This document provides an overview of Unix shell scripting with ksh/bash. It discusses the goals of the class, which are to learn what problems are suited to shell scripts, review commonly used Unix commands for scripts, and write simple shell scripts. It also lists some assumptions, such as having a basic understanding of commands, navigation, redirection and pipes. The document then provides details on the history of different shells like sh, csh, ksh and bash, and compares their features. It also discusses other scripting languages before focusing on ksh/bash versus sh scripts.
Part 5 of "Introduction to Linux for Bioinformatics": Working the command lin...Joachim Jacob
This is part 5 of the training "introduction to linux for bioinformatics". Here we introduce more advanced use on the command line (piping, redirecting) and provide you a selection of GNU text mining and analysis tools that assist you tremendously in handling your bioinformatics data. Interested in following this training session? Contact me at http://www.jakonix.be/contact.html
The document discusses process communication and program execution in Linux. It describes various inter-process communication mechanisms like pipes, FIFOs, semaphores, shared memory, and sockets. It also explains how the kernel sets up the execution context for a new process by loading the executable file and any shared libraries. Key steps include resolving executable format, loading program code and data, and setting up memory segments for the text, data, bss, and stack.
This document provides an overview of file administration in Linux. It describes the three types of files in Linux - ordinary disk files which contain user data, special files which represent devices, and directory files which contain other files and directories. It outlines guidelines for naming files and directories, explaining which characters to avoid. It also introduces the file command for determining a file's type and describes the basic Linux directory structure with files and directories organized in a tree format.
This document provides a tutorial on Unix shell scripting. It begins with an introduction to shell scripting and why it is useful for automating tasks. It then discusses the shell scripting environment in Unix. The bulk of the document covers shell scripting basics like command redirection, variables, control structures like if/then statements and loops. It provides examples of how to use variables, command line arguments, arithmetic expansion, and other shell scripting elements to automate tasks in Unix.
Linux is a prominent example of free and open source software. It can be installed on a wide variety of devices from embedded systems to supercomputers. Linux is commonly used for servers, with estimates that it powers around 60% of web servers. Linux distributions package the Linux kernel with other software like utilities, libraries and desktop environments. Programming languages and build tools like GCC are supported. Embedded Linux is often used in devices due to its low cost and ease of modification.
This document provides an overview of Linux terminal sessions and system utilities. It discusses employing fundamental utilities like ls, wc, sort, and grep. It also covers managing input/output redirection, special characters, shell variables, environment variables, and creating shell scripts. Key topics include using utilities to list directories, count file elements, sort lines, and locate specific lines. It also discusses starting additional terminal sessions, exiting sessions, and locating the graphical terminal.
This document provides an introduction to Linux, including:
- What Linux is and where it came from, as an open source operating system created by Linus Torvalds in 1991.
- How to get Linux through downloading a distribution like Red Hat and the packages it includes.
- Why Linux has become significant due to its growing popularity, ability to run on multiple hardware platforms, and being free.
- An overview of Linux commands and utilities for file management, processes, users and permissions.
This document provides an overview of Linux, shells, and shell scripts. It begins with a short history of Linux and how it originated from efforts to create an affordable UNIX-like operating system that could run on personal computers. It then defines what a shell is and describes common shell commands. The remainder of the document explains what shell scripts are, how to write them, and includes examples of common scripting elements like variables, conditionals, loops, arithmetic, and file operations.
This document provides an overview of Linux, shells, and shell scripts. It begins with a short history of Linux and how it originated from efforts to create an affordable UNIX-like operating system that could run on personal computers. It then defines what a shell is and describes common shell commands. The remainder of the document explains what shell scripts are, how to write them, and includes examples of common scripting elements like variables, conditionals, loops, arithmetic, and file operations.
Please write the mysh program in C and follow the guidelines specifi.pdfamarndsons
Please write the mysh program in C and follow the guidelines specified below. which will read
and interpret a sequence of commands. This project will provide experience of - Posix
(unbuffered) stream IO - Reading and changing the working directory - Spawning child
processes and obtaining their exit status - Use of dup2() and pipe() - Reading the contents of a
directory Extensions In addition to the requirements that all projects must satisfy, this assignment
includes five extensions (see section 3). For full credit, your project must implement two of these
extensions. 1 Overview Your program mysh takes up to one argument. When given one
argument, it will run in batch mode. When given no arguments, it will run in interactive mode.
For full credit, your program must have one input loop and command parsing algorithm that
works for both modes. Batch mode When called with an argument, mysh will open the specified
file and interpret its contents as sequence of commands (see section2). The command are given
by lines of text, separated by newlines. mysh will execute each command as soon as it is
complete, before proceeding to execute
Interactive mode When called with no arguments, mysh will read commands from standard
input. Before reading a command, mysh will write a prompt to standard output. After executing
the command, mysh will print a new prompt and read the next command. To ensure that prompts
are printed appropriately, mysh must be careful not to call read() again if a newline character has
already been entered. mysh terminates once it reaches the end of the input file or encounters the
command exit. In this mode, mysh should print a greeting before the first prompt and a message
when terminating normally. The format of these are left to you. Prompt format When running in
interactive mode, mysh will print a prompt to indicate that it is ready to read input. The prompt is
normally the string "mysh > " (note the trailing space). If the last command failed (meaning its
exit status was non-zero), the prompt is the string "!mysh > " (that is, it is preceded by an
exclamation point). Usage Batch mode: $ cat myscript.sh echo hello $./ mysh myscript.sh hello $
Interactive mode: $./mysh Welcome to my shell! mysh > cd subdir mysh> echo hello hello
mysh> cd subsubdir mysh > pwd /current/path/subdir/subsubdir mysh> cd
directory_that_does_not_exist cd: No such file or directory !mysh> cd ... . /current/path $ exit
mysh: exiting Note the exclamation point after a failed command. 2 Command format A mysh
command comprises one or more tokens. Tokens are sequences of non-whitespace characters,
and are usually separated by whitespace. The exceptions are I, <, and >, which are considered
tokens by themselves. Thus, a string foo bar(I) is used to combine sub-commands (see section
2.4). The first token of a command (or sub-command) is the command name, which usually
identifies a program to execute (see section 2.1). The < and > tokens introduce file redirection
(s.
"PHP from soup to nuts" -- lab exercisesrICh morrow
This document provides instructions for setting up a LAMP (Linux, Apache, MySQL, PHP) development environment on Amazon Web Services (AWS) for completing a series of PHP/LAMP labs. It describes launching an EC2 Linux instance on AWS, installing the LAMP stack, and downloading lab code files. The labs cover topics like control structures, data types, input/output, forms, files, cookies, sessions, and regular expressions. Students are instructed to stop their EC2 instance each day to avoid costs when not in use.
The document provides information about the LAMP stack and its components - Linux, Apache, MySQL, and PHP. It then discusses Linux commands, directories, editors, and scheduling tasks using cron jobs. Key points are:
- LAMP is an open source software solution stack using Linux, Apache, MySQL, and PHP.
- Linux commands allow users to navigate files/folders, view processes, manage users, and more.
- Linux directories include /, /boot, /bin, /lib, /usr for storing system and user files and apps.
- Cron jobs allow scheduling commands to run periodically using a crontab file.
This document provides information about installing and configuring Linux, Apache web server, PostgreSQL database, and Apache Tomcat on a Linux system. It discusses installing Ubuntu using VirtualBox, creating users and groups, setting file permissions, important Linux files and directories. It also covers configuring Apache server and Tomcat, installing and configuring PostgreSQL, and some self-study questions about the Linux boot process, run levels, finding the kernel version and learning about NIS, NFS, and RPM package management.
Similar to 1 of 9 CSCE 3600 Systems Programming Major Assignm.docx (20)
Read Chapter 3. Answer the following questions1.Wha.docxShiraPrater50
Read Chapter 3
.
Answer the following questions:
1.
What can give a teacher insight into children’s language behavior?
2.
How many new words might a preschooler acquire each day?
3.
Define
receptive vocabulary and expressive vocabulary.
4.
Compare speech when a child is excited to speech when a child is embarrassed, sad, or shy.
5.
What is the focus of play for very young preschoolers?
6.
Define
regularization.
7.
What is the focus for questions during the toddler period?
8.
Define
overextension.
9.
Describe
running commentaries.
10.
List
eight (8)
possible developmental reasons and benefits of self-talk.
11.
Define
consonant and vowel.
12.
What advice should be given to families and early childhood educators?
13.
List
(four) 4
suggestions for books for younger preschoolers.
14.
List
ten (10)
expectations as preschoolers get older.
15.
Describe friendships of young preschoolers.
16. List
five (5)
areas of growth in children through group play.
17. How do children learn language?
18. Explain
relational words
and why these words are important.
19. Explain
impact words, sound words, created words
and
displaying creativity
.
20. Discuss the danger of assumptions about intelligence through language ability.
21. List
four (4)
speech and language characteristics of older preschoolers.
22. What may depress a child's vocabulary development?
23. Define
metalinguistic awareness.
24. How does physical growth affect children's perceptions of themselves?
25.
Define
mental image.
26.
Define
visual literacy.
27.
Explain the order in which motor skills are developed.
28.
Explain the
Montessori
approach to education for young children.
29. List
seventeen (17) objectives for refining perceptual-motor skills.
30.
Define
assimilation and accommodation.
31. What is a zone of proximal development?
32.
What is the teacher’s role in working with infants, toddlers and preschoolers?
33.
Define
metalinguistic skills.
34.
Define
social connectedness.
35. List
six (6)
social ability goals that serve as a strong foundation for future schooling.
.
Read Chapter 15 and answer the following questions 1. De.docxShiraPrater50
Read Chapter 15 and answer the following questions
:
1. Describe several characteristics of infants that make them different from other children.
2. What is the feeding challenge in meeting the nutritional needs of an infant?
3. Define
low-birthweight (LBW) infant
.
4. List
nine (9)
problems associated with low birth weight.
5. List
five (5)
reasons a mother may choose formula feeding instead of breast feeding.
6. List
four (4)
steps to safe handling of breast milk.
7. What
two (2)
factors determine safe preparation of formula? Briefly describe each factor.
8. Define
aseptic procedure.
9. Define
distention
and tell what causes distention.
10. Define
regurgitation, electrolytes,
and
developmental or physiological readiness.
11. Why should a bottle
NEVER
be propped and a baby left unattended while feeding?
12. When might an infant need supplemental water?
13. When should solid food be introduced to an infant? What is meant by the infant being developmentally ready?
14. Define
palmar grasp
and
pincer grip.
15. List
ten (10)
common feeding concerns. Pick
ONE
and explain why that is a concern.
Read Chapter 16 and answer the following questions:
1. Describe
toddlers and preschoolers
.
2. Define
neophobic.
3. List
three (3)
things a teacher is responsible for when feeding a toddler. List
two (2)
things for which the child is responsible.
4. Why should you
NOT
try to force a toddler to eat or be overly concerned if children are suddenly eating less?
5. Explain the results of spacing meals
too far apart
and
too close together
.
6. List a
good eating pattern
for toddlers.
7. Name several healthy snack choices for toddlers and young children.
8. List several suggestions for making eating time comfortable, pleasant and safe.
9. What changes about eating habits when a toddler develops into a preschooler?
10. Define
Down syndrome
and
Prader-Willi syndrome.
11. How can parents and teachers promote good eating habits for preschoolers?
12. When and where should rewards be offered?
13. Why should children
not
be encouraged to have a
“clean plate”?
14. List
five (5)
health conditions related to dietary patterns.
15. What is the Physical Activity Pyramid and for what is it designed?
16. List
eight (8)
common feeding concerns during toddler and preschool years. Pick
one and explain
it thoroughly.
https://books.google.com/books/about/Health_Safety_and_Nutrition_for_the_Youn.html?id=7zcaCgAAQBAJ&printsec=frontcover&source=kp_read_button#v=onepage&q&f=false
.
Read Chapter 2 and answer the following questions1. List .docxShiraPrater50
Read Chapter 2 and answer the following questions:
1. List
five (5)
decisions a teacher must make about the curriculum.
2. List
three (3)
ways that all children are alike.
3. List
three (3)
similar needs of young children.
4. Describe the change in thought from age 2 through age 11 or 12.
5. List
four (4)
ways teachers can determine children’s background experiences.
6. List
three (3)
ways to find out children’s interests.
7. List
four (4)
ways to determine the developmental levels and abilities of children.
8. What is P.L. 94-142 and what does it state?
9. List
four (4)
things you need to do as a teacher of special children regarding P.L. 94-142.
10. List
eight (8)
categories of special needs children.
11. List the
eleven (11)
goals of an inclusion program.
12.
List
and
explain three (3)
methods to gain knowledge about the culture and values of a community.
13. Why must teachers of young children understand geography, history, economics and other social sciences?
14. List
six (6)
ways children can assist with planning.
15. List
five (5)
elements that should be included in lessons plans.
16. List
four (4)
main sections that every lesson plan should include regardless of format.
17. Define
behavioral objective.
What
three (3)
questions do behavioral objectives answer?
18. What are
four (4)
goals which can be accomplished through the use of units, projects, and thematic learning?
19. List
three (3)
considerations for selecting themes or topics.
20. After selecting a theme or topic, list
seven (7)
elements that should be included in planning for the theme or unit.
21. List
five (5)
uses for authentic assessment
.
22.
List
and
describe
four (4)
types of assessments.
23. List
five (5)
things you should look for when interviewing children.
24. What are
rubrics
, and how can rubrics be used?
25. What are standardized tests and why might they
not
be useful to teachers of young children?
book
Social Studies for the Preschool/Primary Child
Carol Seefeldt; Sharon D. Castle; Renee Falconer
also you may used any addition
.
Read chapter 7 and write the book report The paper should be .docxShiraPrater50
Read chapter 7 and write the book report
The paper should be single-spaced, 2-page (excluding cover page and references) long, and typed in Times New Roman 12 points. The paper should have a title, and consists of at least two sections: 1) A brief narrative of how an IS/IT is realized, initiated, designed, and implemented in terms of what/when/where/how this happened, and key character players involved in the series of events.
.
Read Chapter 7 and answer the following questions1. What a.docxShiraPrater50
Read Chapter 7 and answer the following questions:
1. What are preschoolers like?
2. Define
large motor, coordination, agility
and
conscience
.
3. What do preschoolers do?
4. What do preschoolers need?
5. Define
sense of initiative, socialized
and
norms
.
6. List the
seven (7)
dimensions of an environment advocated by Prescott.
7. Describe an environment that provides for initiative.
8. List
six (6)
opportunities for children provided through good storage of materials.
9. Define
pictograph
.
10. List
six (6)
environments that foster initiative
.
11. Describe an environment that helps to develop creativity.
12. List
eight (8)
factors for creativity.
13. Describe an environment for learning through play.
14. Where do you begin when deciding how to set up a room?
15. What should you know about pathways in the room?
16. How can you modify a classroom for children with special needs?
17. List
seven (7)
suggestions for welcoming children with special needs.
18. Describe an environment for outdoor play.
19. List
seven (7)
suggestions for an environment that fosters play.
20. How can you plan for safety?
21. Define
interest centers, indirect guidance, private space
and
antibiased
.
22. Describe an environment that fosters self-control.
23. Define
time blocks, child-initiated,
and
teacher-initiated
.
24. List
six (6)
features found in schedules that meet children's needs.
25. List
eight (8)
principles of developmentally appropriate transitions for preschoolers.
26. Define
kindergarten
. Describe kindergarten today.
27. Define
screening, readiness tests, transitional classes
and
retention
.
28. What is the kindergarten dilemma?
29. List
five (5)
inappropriate physical environments for preschoolers.
Read Chapter 8 and answer the following questions:
1. What are primary-age children like?
2. What do primary-age children like to do?
3. Define
peers, sense of industry, competence
and
concrete
.
4. What do primary-age children need?
5. How do primary-age children learn best?
6. What are some of the concerns about public education?
7. Describe an environment for a sense of industry.
8. What is a benefit of the learning-center approach for primary-age children?
9. What is a planning contract?
10. What is an advantage to providing a number of separate learning centers?
11. What is a planning board?
12. Define
portfolio
.
13. How do teachers of primary-age children use portfolios and work samples?
14. What are two large and important learning centers related to literacy?
15. What should a writing center contain?
16. List
four (4)
suggestions for an environment that fosters early literacy.
17. Describe an environment that fosters math understanding.
18. Describe a physical environment that fosters scientific awareness.
19. Describe an environment for relationships.
20. List
five (5)
suggestions for fostering peer- and te.
Read chapter 14, 15 and 18 of the class textbook.Saucier.docxShiraPrater50
Read chapter 14, 15 and 18 of the class textbook.
Saucier Lundy, K & Janes, S.. (2016). Community Health Nursing. Caring for the Public’s Health. (3rd
ed.)
ISBN: 978-1-4496-9149-3
Once done answer the following questions;
1. How the different topics/health issues can be addressed through both professional health promotion and personal health promotion. What is the difference in the approach? How does each approach contribute to the desired effect?
2. Should health insurance companies cover services that are purely for health promotion purposes? Why or why not? What about employers? What are the pros and cons of this type of coverage?
3. What do you think about the role integrating nursing with faith? Is this something you feel is appropriate? When is it appropriate? What types of settings do you feel this would work best in? Do you feel nurses should integrate faith in their nursing practice? Why or why not and how?
4. Have you been a part of a group in which corruption of leadership has occurred? Do you feel it is unavoidable? How did you feel in that particular group?
APA format word document Arial 12 font attached to the forum in the discussion board title "Week 4 discussion questions".
A minimum of 2 evidence based references no older than 5 years old are required besides the class textbook
A minimum of 500 words without count the first and last page are required.
.
Read Chapter 10 APA FORMAT1. In the last century, what historica.docxShiraPrater50
Read Chapter 10 APA FORMAT
1. In the last century, what historical, social, political, and economic trends and issues have influenced today’s health-care system?
2. What is the purpose and process of evaluating the three aspects of health care: structure, process, and outcome?
3. How does technology improve patient outcomes and the health-care system?
4. How can you intervene to improve quality of care and safety within the health-care system and at the bedside?
5. Select one nonprofit organization or one government agencies that influences and advocates for quality improvement in the health-care system. Explore the Web site for your selected organization/agency and answer the following questions: •
What does the organization/agency do that supports the hallmarks of quality? •
What have been the results of their efforts for patients, facilities, the health-care delivery system, or the nursing profession? •
How has the organization/agency affected facilities where you are practicing and your own professional practice?
.
Read chapter 7 and write the book report The paper should b.docxShiraPrater50
Read chapter 7 and write the book report
The paper should be single-spaced, 2-page (excluding cover page and references) long, and typed in Times New Roman 12 points. The paper should have a title, and consists of at least two sections: 1) A brief narrative of how an IS/IT is realized, initiated, designed, and implemented in terms of what/when/where/how this happened, and key character players involved in the series of events.
.
Read Chapter 14 and answer the following questions1. Explain t.docxShiraPrater50
Read Chapter 14 and answer the following questions:
1. Explain the importance of proteins.
2. Define
amino acids, non-essential amino acids, essential amino acids, complete protein,
and
incomplete proteins.
3. Define
complementary proteins
and
supplementary proteins.
4. Why are
vitamins
important?
5. Define
fat soluble
and
water soluble.
6. What is
DNA
?
RNA?
7. Which vitamins play essential roles in the formation of blood cells and hemoglobin?
8. Which vitamins regulate bone growth?
9. Define
collagen.
10. Which vitamins regulate energy metabolism?
11. Define
neuromuscular
and
spina bifida.
12. What are
megadoses
?
13. Define
minerals
and tell why they are important.
14. What minerals support growth?
15. What are the major minerals found in bones and teeth?
16. Why is fluoride added to water supplies of communities? Why is fluoride important?
17. What are the major food sources of
calcium
and
phosphorus
?
18. Define
hemoglobin
. Define
iron-deficiency
anemia
.
19. What are the major food sources of iron?
20. Why is water so important to children? How is water lost and replaced in children?
21. Name
three (3)
problems caused by children drinking too much fruit juice.
https://books.google.com/books/about/Health_Safety_and_Nutrition_for_the_Youn.html?id=7zcaCgAAQBAJ&printsec=frontcover&source=kp_read_button#v=onepage&q&f=false
.
Read Chapter 2 first. Then come to this assignment.The first t.docxShiraPrater50
Read Chapter 2 first. Then come to this assignment.
The first theme of next week's class (Week 2) will be Chapter 2, Concepts of Infectious Disease. I will briefly go through the chapter to make sure that you understand it, and then we will have a discussion.
Since the chapter in the textbook is so full of important concepts, it would be difficult to narrow it down to a single topic for discussion. So I have posted this introduction and 3 separate subtopics. You can choose which one you want to write about. Each student should choose one of these subtopics for your major post. You should write well thought out primary comments on at least one of the points below (150-200 words).
BE SURE TO INCLUDE YOUR NAME AND SUBTOPIC IN THE HEADER FOR YOUR PAPER.
We will discuss each of the subtopics that were chosen by the students. Each of you should take an active role in presenting your topic to the other students. Explain the concept in your own words, or develop it further using a relevant example. As other students present their perspective on the same topic, hopefully an active discussion will take hold. I will jump in only as needed. This format will allow you to develop one subtopic in an active sense, but learn about the others by being drawn into them through other people's discussions.
Choose your subtopic:
Subtopic 1: Factors that affect the spread of epidemics
Question: Explain how the interaction between these factors are relevant to the transmission of AIDS. For example, which of these factors are most critical to the transmission of HIV. Which aren't.
1. Total number of hosts
2. Host’s birth rate
3. Rate at which new susceptible hosts migrate into population
4. Number of susceptible uninfected hosts
5. Rate at which disease can be transmitted from infected to uninfected hosts
6. Death rate of infected hosts
7. The number of infected hosts who survive and become immune or resistant to further infection
Subtopic 2: Acute versus Chronic Infections
Question: Compare the definitions of Acute Infections and Chronic Infections below. Based on what you know about HIV/AIDS at this point, which description most closely matches AIDS? Explain your answer, using evidence from the book to support your position.
What is an acute infection?
1. Produces symptoms and makes a person infectious soon after infection.
2. The infected person may: transmit the disease
die from the infection
recover and develop immunity
3. the acute microorganism
STRIKES QUICKLY
infects entire group (small group)
dies out
What is a chronic infection?
Person may never show symptoms
Person continues to carry infectious agent at a low level
Does NOT mount an effective immune response
Subtopic 3: Controlling infectious disease
Question: Explain what herd immunity is and how it works. Use an example from either the bo.
Journal of Public Affairs Education 515Teaching Grammar a.docxShiraPrater50
Journal of Public Affairs Education 515
Teaching Grammar and Editing in Public
Administration: Lessons Learned from
Early Offerings of an Undergraduate
Administrative Writing Course
Claire Connolly Knox
University of Central Florida School of Public Administration
ABSTRACT
College graduates need to possess strong writing skills before entering the work-
force. Although many public administration undergraduate programs primarily
focus on policy, finance, and management, we fall short of a larger goal if students
cannot communicate results to a variety of audiences. This article discusses the
results of a national survey, which concludes that few undergraduate public affairs
programs require an administrative/technical writing course. Based on pedagogical
theories, this article describes the design of a newly implemented, undergraduate,
administrative writing course. The article concludes with lessons learned, provides
recommendations for programs considering requiring an administrative writing
course, and discusses future research.
Keywords: administrative writing, Plain Language Movement, discourse community,
undergraduate course design
“Administrators not only need to know about communications, they need to
be able to communicate” (Denhardt, 2001, p. 529). Public administration under-
graduate students learn the importance of communication within organizations
in leadership, human resources, or organizational management courses; however,
practical instruction in communication skills, such as effective, audience-centered
writing, are lacking. Scholars (e.g., Cleary, 1990, 1997; Lee, 2000; Raphael &
Nesbary, 2005; Waugh & Manns, 1991) have noted this lack of required commun-
ication and writing courses in public administration curriculum. The majority of
administrative writing literature is from the late 1980s and early 1990s when
universities began implementing Writing Across the Curriculum programs (i.e.,
JPAE 19 (3), 515–536
516 Journal of Public Affairs Education
Londow, 1993; Stanford, 1992). The limited discussions and conclusions coincide
with private and public sector trends—newly hired students’ writing skills are
lacking (Hines & Basso, 2008; National Commission, 2005).
A survey by the National Commission on Writing for America’s Families,
Schools, and Colleges (2005) reported that approximately 80% of public sector
human resource directors seriously considered writing skills when hiring professional
employees and assumed new employees obtained these skills in college. Increasingly,
public managers require employees to attend writing and communication trainings,
which cost governments approximately $221 million annually (National Commis-
sion, 2005). In fact, the public sector (66%) is more likely to send professional/
salaried employees for writing training than the private sector (40%; National
Commission, 2005). Public, private, and nonprofit sector organizations certainly
should cont ...
This document provides guidance on managing suppliers for the TLIR5014 unit. It covers assessing suppliers and building relationships, evaluating delivery against agreements, negotiating with suppliers, resolving disagreements, and reviewing performance. Key areas discussed include developing criteria to evaluate suppliers; maintaining cooperative relationships; establishing performance indicators; developing evaluation methods; managing relationships; and continuously reviewing suppliers for quality, profitability and other metrics. The role of the supply/contract manager and importance of a contract management plan are also outlined.
MBA 6941, Managing Project Teams 1 Course Learning Ou.docxShiraPrater50
The document provides an overview of key concepts and processes related to project scope management and time management. It defines scope management as the processes used to define, control, and validate the work required to successfully deliver a project. It outlines six processes for scope management including planning scope management, collecting requirements, defining scope, creating a work breakdown structure, validating scope, and controlling scope. It also defines seven processes for time management including planning schedule management, defining activities, sequencing activities, estimating activity resources and durations, developing the schedule, and controlling the schedule. The critical path is described as the longest path through a project network diagram that determines the shortest project duration.
Inventory Decisions in Dells Supply ChainAuthor(s) Ro.docxShiraPrater50
Inventory Decisions in Dell's Supply Chain
Author(s): Roman Kapuscinski, Rachel Q. Zhang, Paul Carbonneau, Robert Moore and Bill
Reeves
Source: Interfaces, Vol. 34, No. 3 (May - Jun., 2004), pp. 191-205
Published by: INFORMS
Stable URL: https://www.jstor.org/stable/25062900
Accessed: 13-02-2019 19:24 UTC
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected]
Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms
INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Interfaces
This content downloaded from 141.217.20.120 on Wed, 13 Feb 2019 19:24:25 UTC
All use subject to https://about.jstor.org/terms
Interfaces infjIML
Vol. 34, No. 3, May-June 2004, pp. 191-205 DOI i0.1287/inte.l030.0068
ISSN 0092-21021 eissn 1526-551X1041340310191 @ 2004 INFORMS
Inventory Decisions in Dell's Supply Chain
Roman Kapuscinski
University of Michigan Business School, Ann Arbor, Michigan 48109, [email protected]
Rachel Q. Zhang
Johnson Graduate School of Management, Cornell University, Ithaca, New York 14853, [email protected]
Paul Carbonneau
McKinsey & Company, 3 Landmark Square, Stamford, Connecticut 06901, [email protected]
Robert Moore, Bill Reeves
Dell Inc., Mail Stop 6363, Austin, Texas 78682 {[email protected], [email protected]}
The Tauber Manufacturing Institute (TMI) is a partnership between the engineering and business schools at
the University of Michigan. In the summer of 1999, a TMI team spent 14 weeks at Dell Inc. in Austin, Texas,
and developed an inventory model to identify inventory drivers and quantify target levels for inventory in the
final stage of Dell's supply chain, the revolvers or supplier logistics centers (SLC). With the information and
analysis provided by this model, Dell's regional materials organizations could tactically manage revolver inven
tory while Dell's worldwide commodity management could partner with suppliers in improvement projects to
identify inventory drivers and to reduce inventory. Dell also initiated a pilot program for procurement of XDX
(a disguised name for one of the major components of personal computers (PCs)) in the United States to insti
tutionalize the model and promote partnership with suppliers. Based on the model predictions, Dell launched
e-commerce and manufacturing initiatives with its suppliers to lower supply-chain-inventory costs by reducing
revolver inventory by 40 percent. This reduction would raise the corresponding inventory turns by 67 percent.
Net Present Value (NPV) calculations for XDX alone suggest $43 million in potential savings. To ensure project
longevity, Dell formed ...
It’s Your Choice 10 – Clear Values: 2nd Chain Link- Trade-offs - Best Chance of Getting the Most of What You Want.
Narrator: In today's episode, what do I really want? Roger and Nicole discussed the importance of being clear about your values when making a decision in order to give you the best chance of making the most of what you really want. When you understand what you care most about, you can determine which outcomes you prefer as a result of the decision. And, while we frequently can't get everything we want, making tradeoffs is easier when we are clear about our values. Roger: Nicole is something wrong? Nicole: Oh no, not really. I'm just kind of distracted today. See, I finally decided to bite the bullet and buy a car, but I'm having a lot of trouble deciding what to buy. I've been saving for years and I want to make sure I do this right. The problem is that I don't even know where to start. There are so many good cars out there. Roger: I know how tough it can be to try and figure out what you really want it, but you're in luck. On today's show, we're going to be talking about why being clear on your values is so important when making a decision. Nicole: A value is something you want as a result of the decision. Roger: Like when I was trying to decide which college to go to, some of my preferences were to go to a place with a good music program and a D-three basketball team. Nicole: It's funny because when I was looking for a school, I didn't care at all about the basketball team. I was much more interested in theater groups. Roger: and that's fine because values are completely up to the person making the decision. What I want will probably be different from what you want, but I use my values for my decisions and you will use yours for yours. Nicole: I was thinking about asking my friends for their opinions too. Roger: It can be very useful to get input from other people, especially when they're knowledgeable. Just be careful they don't try and talk you into what they want instead of what you wanted. Anyway, have you thought about the things you want the most from the car of your choice? Nicole: Oh sure. There are lots of things like I really want a car I can afford, that gets good gas mileage and is cute safe, a good size and comfortable for my friends. Roger: That's a good start. How about the things you don't want?
Nicole: Well, it has to be reliable. I'll be in a mess if it breaks down. I can't afford a lot of repair bills and I don't want a car that's too big. Roger: That's good. Identifying the things you don't want is just as important as the things you do want. Okay Nicole, now that we have your list, the next step is to ask yourself how important are these things?
Nicole: Well, they're all important.
Roger: Sure, but aren't some more important than others? Nicole: Of course, but I'm not really sure which or which? Roger: A good first step is to identify why something is important to you. For example, is getting good gas ...
MBA 5101, Strategic Management and Business Policy 1 .docxShiraPrater50
MBA 5101, Strategic Management and Business Policy 1
Course Learning Outcomes for Unit I
Upon completion of this unit, students should be able to:
2. Compare and contrast the integral functions of corporate governance.
2.1 Describe the roles and responsibilities of the board of directors in corporate governance.
2.2 Explain the Sarbanes-Oxley Act and its impact on corporate governance.
4. Analyze the processes for formulating corporate strategy.
4.1 Explain the benefits of strategic management.
5. Evaluate methods that impact strategy implementation, such as staffing, directing, and organizing.
5.1 Discuss the strategic audit as a method of analyzing corporate functions and activities.
Reading Assignment
In order to access the following resources, click the links below:
College of Business – CSU. (2016, January 12). MBA5101 Unit I lesson video [YouTube video].
Retrieved from
https://www.youtube.com/watch?v=p5axP8yAmFk&feature=youtu.be&list=PL08sf8iXqZn54RIuJs-
skgp4omxG-UOu5
Click here to access a transcript of the video.
Pomykalski, A. (2015). Global business networks and technology. Management, 19(1), 46-56. Retrieved from
https://libraryresources.columbiasouthern.edu/login?url=http://search.ebscohost.com/login.aspx?direc
t=true&db=bth&AN=103247112&site=ehost-live&scope=site
Silverstein, E. (2015). Years later, Sarbanes-Oxley is part of how companies do business. Insidecounsel,
26(286), 38-39. Retrieved from
https://libraryresources.columbiasouthern.edu/login?url=http://search.ebscohost.com/login.aspx?direc
t=true&db=bth&AN=111456112&site=ehost-live&scope=site
Wheelen, T. L., & Hunger, J. D. (1987). Using the strategic audit. SAM Advanced Management Journal,
52(1), 4. Retrieved from
https://libraryresources.columbiasouthern.edu/login?url=http://search.ebscohost.com/login.aspx?
direct=true&db=bth&AN=4604880&site=ehost-live&scope=site
Unit Lesson
When founders form companies, they usually focus on the product and the customers they hope to generate.
The founders are usually of the same mindset and intention about what they want their company to do and
how they would like it to grow. What many companies fail to plan for is the inevitable death of one of the
founding members and what that might mean for the vision and purpose of the company. In other words, what
would the management structure resemble if one of the founding partners had to deal with the heir of the
deceased partner?
For example, once, two middle-aged founders focused on the same mission, creating and living by their
cultural values and vision, diligently reaching out to their target market, and productively engaging their
customers. One partner unexpectedly died. After the funeral, the surviving founder finds himself now working
side-by-side with the recently deceased founder’s 17-year-old son or daughter. Very quickly, the surviving
UNIT I STUDY GUIDE
Governance and the Value
of Planning
https:// ...
MAJOR WORLD RELIGIONSJudaismJudaism (began .docxShiraPrater50
MAJOR WORLD RELIGIONS
JudaismJudaism (began circa 1,800 BC)
This was the first monotheistic religion on earth
God is all-powerful with many prophets, Jesus among them
Followers are called Jews, 80% of 14 million total adherents live in U.S. or Israel
Christianity
(began around 30AD)Most followers of any religion: 2 billionMost geographically widespread religionCenters on Jesus Christ as the savior whose sacrificial death forgives/erases Christians’ sinsHalf of global Christians are Catholics (the Americas) and one-fourth are Protestant (Europe and U.S.)
Islam
(began around 615AD)2nd largest world religion: 1.5 billion followersOver 80% are “Sunnis”, 20% are “Shiite”(Iran)Based on the Prophet Muhammad’s teachings & revelations
Green = Sunni
Maroon = Shiite
Buddhism
(began ca. 450 B.C.)Centered in East and Southeast Asia, 400 million followersBased on the example and teachings of Siddhartha Gautama (the Buddha) who lived in eastern India around 500 B.C.Life’s core suffering can be ended by releasing attachment to desires and becoming “awakened”
Taoism
(began ca. 500B.C.)
Lao-Tzu (Laozi) founding spiritualist/philosopher Action through non-action, simplicity, compassion, humility, learning from/oneness with the “Tao” (the force/energy of nature/all things)Practiced mostly in China, but expressed in Western pop culture (Star Wars, yoga, etc.)
HinduismFocused on the enlightened being Krishna who lived 5,000 BPBhagavad Gita religious text composed by one authorPracticed by hundreds of millions, principally in India
Animism/“Primal Indigenous”PolytheisticPracticed largely among tribal groupsEverything in nature, even non-living entities, have a spiritPhysical and spiritual realms are one, which is opposite of Western thinking
Religious Perspectives on the Human/Environment Relationship
Questions
How do you feel about Evolution vs. Creation?
Do you feel that people are more important than animals, plants, and nature?
Do you think about the effects of your lifestyle on the natural world? (trash, CO2, etc)
Do you believe that nature is here to supply man’s needs or that we have a responsibility to tend and care for nature as well?
Your responses…Indicate a position relative to some very old questions!These questions concern the fundamental or essential nature of the world, and as such they affect geographical worldviewsReligious/philosophical worldviews affect how we treat the planet
Man and Nature are Connected
Man and Nature are Separate
Judaism/Christianity/IslamEverything in nature was created by a single supreme being with unlimited powers.Man’s relationship to nature is either dominion or stewardship (but separate from nature either way).Salvation depends on faith and belief (Christianity) so issues like treatment of animals or conservation of resources are of minor ethical importanceEastern religions don’t separate man from nature as much as Abrahamic religions.
Nature as God’s Handiwork“But ...
हिंदी वर्णमाला पीपीटी, hindi alphabet PPT presentation, hindi varnamala PPT, Hindi Varnamala pdf, हिंदी स्वर, हिंदी व्यंजन, sikhiye hindi varnmala, dr. mulla adam ali, hindi language and literature, hindi alphabet with drawing, hindi alphabet pdf, hindi varnamala for childrens, hindi language, hindi varnamala practice for kids, https://www.drmullaadamali.com
Strategies for Effective Upskilling is a presentation by Chinwendu Peace in a Your Skill Boost Masterclass organisation by the Excellence Foundation for South Sudan on 08th and 09th June 2024 from 1 PM to 3 PM on each day.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
How to Build a Module in Odoo 17 Using the Scaffold MethodCeline George
Odoo provides an option for creating a module by using a single line command. By using this command the user can make a whole structure of a module. It is very easy for a beginner to make a module. There is no need to make each file manually. This slide will show how to create a module using the scaffold method.
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
1 of 9 CSCE 3600 Systems Programming Major Assignm.docx
1. 1 of 9
CSCE 3600: Systems Programming
Major Assignment 2 – The Shell and System Calls
Due: 11:59 PM on Wednesday, November 6, 2019
COLLABORATION
You should complete this assignment as a group assignment
with the other members of
your group as assigned on Canvas using our GitLab
environment (i.e., the same group
you had for Major 1). If desired, you may submit only one
program per group, but all
source code must be committed in GitLab. Also, make sure that
you list the names of all
group members who participated in this assignment in order for
each to get credit.
BACKGROUND
A shell provides a command-line interface for users. It
interprets user commands and
executes them. Some shells provide simple scripting terms, such
as if or while, and
allow users to make a program that facilitates their computing
environment. Under the
hood, a shell is just another user program. The file /bin/bash is
an executable file for
the bash shell. The only thing special about your login shell is
that it is listed in your
login record so that /bin/login (i.e., the program that prompts
you for your password)
2. knows what program to start when you log in. If you run "cat
/etc/passwd", you will
see the login records of the machine.
PROGRAM DESCRIPTION
GROUP COLLABORATIVE PORTION
In this assignment, you will implement the shell “engine” as the
“group” component,
where all members are responsible for the following
functionality:
• A Command-Line Interpreter, or Shell
Your shell should read the line from standard input (i.e.,
interactive mode) or a
file (i.e., batch mode), parse the line with command and
arguments, execute the
command with arguments, and then prompt for more input (i.e.,
the shell prompt)
when it has finished.
1. Interactive Mode
In interactive mode, you will display a prompt (any string of
your choosing)
and the user of the shell will type in a command at the prompt.
2. Batch Mode
In batch mode, your shell is started by specifying a batch file on
its command
line. The batch file contains the list of commands that should be
executed. In
batch mode, you should not display a prompt, but you should
echo each line
you read from the batch file back to the user before executing it.
You will need to use the fork() and exec() family of system
3. calls. You may
2 of 9
not use the system() system call as it simply invokes the
system’s /bin/bash
shell to do all of the work.
You may assume that arguments are separated by whitespace.
You do not have
to deal with special characters such as ', ", , etc. However, you
will need to
handle the redirection operators (< and >) and the pipeline
operator (|), which
will be specified in the “individual” portion of this assignment.
Each line (either in the batch file or typed at the prompt) may
contain multiple
commands separate with the semicolon (;) character. Each
command separated
by a ; should be run sequentially, but the shell should not print
the next prompt
or take more input until all of these commands have finished
executing (the
wait() or waitpid() system calls may be useful here).
You may assume that the command-line a user types is not
longer than 512
bytes (including the 'n'), but you should not assume that there
is any restriction
on the number of arguments to a given command.
INDIVIDUAL PORTION
In this assignment, each member of the group will implement
the following components
as defined below. This means that the individual group member
4. responsible for each
portion MUST commit in GitLab the code that supports their
responsible area.
• Built-In Commands
Every shell needs to support a number of built-in commands,
which are functions
in the shell itself, not external programs. Shells directly make
system calls to
execute built-in commands, instead of forking a child process to
handle them.
Each group member is expected to implement 1 of the following
built-in
commands.
Note that the expectation for this assignment assumes that a
group contains 4
students, but if, for some reason, a team has only 3 students,
then only 3 of the
following built-in commands would need to be supported (i.e., 1
for each group
member).
1. Add a new built-in cd command that accepts one optional
argument, a
directory path, and changes the current working directory to
that directory. If
no argument is passed, the command will change the current
working
directory to the user’s HOME directory. You may need to
invoke the chdir()
system call.
2. Add a new built-in exit command that exits from the shell
itself with the
exit() system call. It is not to be executed like other programs
the user
5. types in. If the exit command is on the same line with other
commands, you
should ensure that the other commands execute (and finish)
before you exit
your shell.
These are all valid examples for quitting the shell:
prompt> exit
3 of 9
prompt> exit; cat file1
prompt> cat file1; exit
3. Add a new built-in path command that allows users to show
the current
pathname list, append one pathname, or remove one pathname.
In your shell
implementation, you may keep a data structure to deal with the
pathname list.
If you do not use execle() or execve() that allows you to execute
with
your own environment variables, you will need to add it to the
“real” PATH
environment variable for executables in the path to work
correctly. The initial
value of path within your shell shall be the pathname list
contained in the
PATH environment variable. Implement the path command as
follows:
• path (without arguments) displays the pathnames currently set.
It should
show pathnames separated by colons. For example,
"/bin:/user/bin".
6. • path + ./bin appends the pathname to the path variable. You
may
assume that only one pathname is added at a time.
• path - ./bin removes the pathname to the path variable. You
may
assume that only one pathname is added at a time.
You may assume that there are no duplicate pathnames present,
being
added, or being deleted. You will restore your PATH
environment variable to
its original state (i.e., before your shell was invoked) when the
user exits your
shell.
4. Add a shell history of previous commands run in your shell
(not the bash
shell). Note that this does not have to work with the up-arrow
key as in bash,
but with a new myhistory command run inside your shell. You
may not
make use of the history build-in command, but instead keep
track of your
history of commands in a data structure. Your myhistory built-
in command
should support a history of 20 most recent commands (i.e., this
means that
the 21st command will overwrite the 1st command, for
example).
• Redirection, Pipelining, Signal Control, and Bash2 Support:
1. Extend your shell with I/O redirection (mandatory for teams
of 3 or 4)
7. When you start a command, there are always three default file
streams open:
stdin (maps input from the keyboard by default), stdout (maps
output to
the terminal by default), and stderr (maps error messages to the
terminal
by default). These and other open files may be redirected, or
mapped, to files
or devices that users specify.
Modify your shell so that it supports redirecting stdin and
stdout to files.
You do not need to support redirection for your shell built-in
commands (i.e.,
cd, exit, path, and myhistory). You do not need to support stderr
redirection or appending to files (e.g., cmd3 >> out.txt). You
may assume
that there will always be spaces around the special characters <
and >. Be
aware that the "< file" or "> file" are not passed as arguments to
your
shell program.
4 of 9
Some redirection examples include:
$ cmd1 < in.txt
executes cmd1, using in.txt as the source of input, instead of the
keyboard.
$ cmd2 > out.txt
executes cmd2 and places the output to file out.txt.
You will need to understand Linux file descriptors and use the
8. open(),
close(), and dup()/dup2() family of system calls. This portion of
the
project should only require implementing single input
redirection and single
output redirection (not both redirection or working with pipes).
2. Extend your shell with pipelining (mandatory for teams of 3
or 4)
The command
$ cmd1 | cmd2 | cmd3
connects the standard output of cmd1 to the standard input of
cmd2, and
again connects the standard output of cmd2 to the standard
input of cmd3
using the pipeline operator '|'.
You will need to use the pipe() system call. Your shell should
be able to
handle up to three commands chained together with the pipeline
operator
(i.e., your shell should support up to two pipes pipelined
together). This
portion of the project should only require implementing support
for a pipeline
of 2 pipes/3 commands (no working with redirection).
Your shell does not need to handle built-in commands
implemented above
(i.e., cd, exit, path, and myhistory) in pipeline.
3. Support Signal Handling and Terminal Control (mandatory
for teams of 3 or 4)
Many shells allow you to stop or pause processes with special
keystrokes,
such as Ctrl-C or Ctrl-Z, that work by sending signals to the
9. shell’s
subprocesses. If you try these keystrokes in your shell, the
signals would be
sent directly to the shell process itself. This is not what we want
since, for
example, attempting to Ctrl-Z a subprocess of your shell will
also stop the
shell itself. Instead, we want to have the signals affect only the
subprocesses
that our shell creates. To help you accomplish this, you might
find the
following helpful:
a. Process Groups
Every process has a unique process ID (i.e., pid). Every process
also has
a possibly non-unique process group ID (i.e., pgid) which, by
default, is
the same as the pgid of its parent process. Processes can get and
set
their process group ID with the system calls getpgid(),
setpgid(),
getpgrp(), or setpgrp().
5 of 9
Keep in mind that, when your shell starts a new program, that
program
might require multiple processes to function correctly. All of
these
processes will inherit the same process group ID of the original
process.
So, it may be a good idea to put each shell process into its own
process
10. group for simplicity. When you move each subprocess into its
own
process group, the pgid should be equal to the pid.
b. Foreground Terminal
Every terminal has an associated foreground process group ID.
When you
type Ctrl-C, your terminal sends a signal to every process inside
the
foreground process group. You can change which process group
is in the
foreground of a terminal with tcsetpgrp(int fd, pid_t pgrp). The
fd should be 0 for standard input stdin.
In your shell, you can use kill –XXX pid, where XXX is the
human-friendly
suffix of the desired signal, to send any signal to the process
with process ID
pid. Since you can use the signal function to change how signals
are
handled by the current process, your shell should basically
ignore most of
these signals, whereas your shell’s subprocesses should respond
with the
default action. Be aware that forked processes will inherit the
signal handlers
of the original process. You may want to check out man 2 signal
and man
7 signal for more information on this. You want to ensure that
each
program you start is in its own process group. When you start a
process, its
process group should be placed in the foreground. Stopping
signals should
only affect the foreground program(s), not the background shell.
11. 4. Implement a small Bash interpreter (mandatory for teams of 4
and not
required for teams of 3)
At the command prompt (interactive mode) or via the batch
script, small
Bash2 shell scripts shall be interpreted. The invocation shall be
as:
$ bash2 <name of bash2 shell script>
About “Bash2”: Bash2 is a simple shell script that supports only
variable
assignment, arithmetic (+, - and * only), and display.
Variable assignments are of the form:
<variable name>=<value>
Eg:
x=10
Arithmetic is of the form:
<variable name>=<operand1><operator><operand2>
Eg:
x=y+z
a=b+20
6 of 9
Display statements are of the form:
display <string>
Eg:
display "This is a string"
display $z
12. Any line starting with ‘#’ shall be treated as a comment.
Eg:
# Some comment
A complete bash2 script is included below:
x=10
y=20
display $x
x=30
z=$x+10
w="A sample string"
display "value of z is: $z"
display $w
# This is a comment
When this bash2 script is executed at the newshell prompt, the
output shall
be:
$ bash2 example.sh
10
value of z is: 40
A sample string
$
Your bash2 interpreter should demonstrate the following
capabilities:
13. o Detection and reporting of uninitialized variables
o Detection and reporting of variables with string values being
used in
arithmetic statements
o Correct handling of ‘$’ prefix in variable references inside the
‘display’
statements
7 of 9
DEFENSIVE PROGRAMMING (GROUP COLLABORATIVE
EFFORT)
Check the return values of all system calls utilizing system
resources. Do not blindly
assume all requests for memory will succeed and that all writes
to a file will occur
correctly. Your code should handle errors properly. Many failed
system calls should not
be fatal to a program. Typically, a system call will return –1 in
the case of an error
(malloc returns NULL on error).
An OS cannot simply fail when it encounters an error. It must
check all parameters
before it trusts them. In general, there should be no
circumstances in which your C
program will core dump, hang indefinitely, or prematurely
terminate. Therefore, your
program must respond to all input in a reasonable manner. By
“reasonable”, this means
that you should print a meaningful and understandable error
14. message and either
continue processing or exit, depending upon the situation.
Many questions about functions and system behavior can be
found in the manual
pages.
You should consider the following situations as errors – in each
case, your shell should
print a message to stderr and exit gracefully:
• An incorrect number of command line arguments to your shell
program; and
• The batch file does not exist or cannot be opened.
For the following situation, you should print a message to the
user (stderr) and
continue processing:
• A command does not exist or cannot be executed.
Optionally, to make coding your shell easier, you may print an
error message and
continue processing in the following situation:
• A very long command line (over 512 characters including the
'n').
Your shell should also be able to handle the following
scenarios, which are not errors
(i.e., your shell should not print an error message):
• An empty command line (e.g., $ ; ;), which can simply be
eaten with no output
– note that this is different behavior than bash;
• Extra white spaces within a command line; and
• Batch file ends without exit command or user types ‘Ctrl-D’ as
15. a command in
interactive mode.
In no case should any input or any command-line format cause
your shell program to
crash or exit prematurely. You should think carefully about how
you want to handle
oddly formatted command lines (e.g., lines with no commands
between a semi-colon).
In these cases, you may choose to print a warning message
and/or execute some
subset of the commands. However, in all cases, your shell
should continue to execute.
REQUIREMENTS
Your code must be written in C and be invoked exactly as
follows:
8 of 9
newshell [batchFile]
The command-line arguments to your shell are to be interpreted
as follows:
• batchFile: an optional argument (indicated by square brackets
as above). If
present, your shell will read each line of the batchFile for
commands to be
executed. If not present, your shell will run in interactive mode
by printing a
prompt to the user at stdout and reading the command stdin.
For example, if you run your program as:
16. newshell /home/mat0299/csce3600/batchfile
then it will read commands from
/home/mat0299/csce3600/batchfile until it sees
the exit command or EOF.
OPTIONAL SHELL FUNCTIONALITY
Teams who have completed all requirements for this program
and are looking for an
additional challenge may add the following optional
functionality to gain bonus points
added to your team’s overall score:
• Allow the user to customize the prompt (+5 points).
• Any extra functionality that you might think of, but it MUST
be approved by your
instructor first (+5 or more points).
However, all required functionality must be implemented prior
to attempting this extra
credit work as no points will be given for attempting this
functionality if all requirements
have not been completed. In other words, make sure your
program is complete before
attempting this extra credit.
GRADING
Your C program file(s), README, and makefile shall be
committed to our GitLab
environment as follows:
• Your C program file(s). Your code should be well documented
in terms of
comments. For example, good comments in general consist of a
header (with
17. your name, course section, date, and brief description),
comments for each
variable, and commented blocks of code.
• A README file with some basic documentation about your
code. This file should
contain the following four components:
o Your name(s).
o Organization of the Project. Since there are multiple
components in this
project, you will describe how the work was organized and
managed,
including which team members were responsible for what
components –
there are lots of ways to do this, so your team needs to come up
with the
best way that works based on your team’s strengths. Note that
this may
be used in assessment of grades for this project.
9 of 9
o Design Overview: A few paragraphs describing the overall
structure of
your code and any important structures.
o Complete Specification: Describe how you handled any
ambiguities in the
specification. For example, for this project, explain how your
shell will
handle lines that have no commands between semi-colons.
18. o Known Bugs or Problems: A list of any features that you did
not implement
or that you know are not working correctly.
• A completed group assessment evaluation (given at a later
date) for each team
member. Please be aware that a student receiving a poor
evaluation with regards
to their performance on the team will have his/her grading
marks reduced by an
appropriate amount, based on the evaluation. In addition, the
rubric for this
assignment allows modification of each individual’s portion of
the group grade to
account for individual contribution to the group’s submission,
which may result in
a member of the group receiving a much higher or much lower
grade than other
members of the group. This implies that in the individual
portion, each group
member is responsible for “committing” his or her own code.
Additionally, there
are points allocated for participation and contribution to the
overall project.
• A Makefile for compiling your source code, including a clean
directive.
• Your program will be graded based largely on whether it
works correctly on the
CSE machines (e.g., cse01, cse02, …, cse06), so you should
make sure that
your program compiles and runs on a CSE machine.
Your program will be tested using a suite of about 20 test cases
on the CSE machines,
19. some of which will exercise your program’s ability to correctly
execute commands and
some of which will test your program’s ability to catch error
conditions. Be sure that you
thoroughly exercise your program’s capabilities on a wide range
of test suites.
SUBMISSION
• Each team will ensure that all source code and header files,
the makefile, and
the README file are committed to our GitLab repository by the
due date and time.
If desired, one student may submit all applicable files to
Canvas, but it is not
required and only code found in the GitLab repository will be
graded.