## Computer science homework guidlines

This rubric is intended to guide graders in their evaluation of the students’ submissions. Problem 1 (worth 25 points) IF statements are used properly to segment festivals by season Discussion Grading Students should not copy data values but rather use IF to filter the data. -10 if IF not used Total and percentages of festivals in each season Formulas should be capable across -5 if total number of festivals is hardcore in percentage formula Criterion -5 if IF statement was used but is incorrect, is not capable both across and down, or contains hard coded major names -2 if the values are incorrect

Formatting The students must format the output as shown -1 if no bold facing in header -1 if no shading in header -1 if no bottom border Resilient to data changes The model must work if rows are inserted, deleted, or states are changed. It is acceptable if the model does not work when a students from a new state is added. -1 if sums & percentages are not italicized -1 if percentages not formatted as percents -5 if the model does not adjust properly to data changes Problem 2 (worth 50 points) Deposit Number (Depend. ) -5 if formula is not used or not correct Deposit Date -5 if formula incorrect or not used

Beginning Balance, Interest, Total Deposit, Ending balance 5 points each Total Scheduled Deposits, Total Extra Deposits, Total Interest Percent Increase, Goal Reached? , Conditional Problem 3 (worth 25 points) Year is calculated with a formula Year range must change if first year changes -5 if formula is not used Correct calculation of payment each year for each rate The payment must be calculated using the interest rates and the balance; balance must be referenced and not hard coded -10 if formula incorrect or incorrect values.

## Computer science notes

Arrays and Structures. Objectives : to understand the meaning of structure databases and its availability in C++. To appreciate the use and importance of Arrays in C++ to differentiate between the use and implementation of different types of Arrays To use structures as User Defined data type to write programs. To understand and use typed Structured Data types : Students till now whatever data type we have used are Just primitive data types like into , char , float , etc.

All these databases are defined within the C++ compiler and that s why they are also called as primitive. We can define a length using into , a weight using float , a name using characters etc. But suppose I tell you “please define a fruit for me in program” ,then your mind starts wondering, as you can’t define a fruit Just with any one database as you did with length , weight etc. A Fruit itself is a composite entity having following attributes : color : can be described with a name I. E. Char [ ] taste : can be described with a name I. E. Chart] season : can be described with into I. E. For summer , 2 for winter price : can be described as float mans so on… This means that to describe a fruit we need to have a collection of data-types bundled together so that all the attributes of the fruit can be captured. This is true for any real world thing around you say student , mobile , plant etc. So when we bundle many primitive data types together to define a real world thing then it is known as derived data type or structured data type or User defined data types. In this chapter we would look onto two important structured data types , one is Array and the other one is Structure.

Sometimes we need to have variables in very large quantities , that too of same data yep I. E. Suppose we want 200 integer variables. In this situation will you declare 200 individual variables ? Absolutely not. This is because it will : a) wastage of time as well time taking task b) we won’t be able to manage these 200 variables in our program , it will be difficult to remember the names of variable every now and then during programming. So there exist special structured data type in C++ to tackle this situation. C++ allows a programmer to bundle together all these same type of 200 variable under a same tag name called as Arrays.

So we are observing that structuring data type means undoing primitive data type in some or other way so that it solves some special programming situations. 93 4. 1 Arrays An array is a series of elements of the same type placed in contiguous memory locations that can be individually referenced by adding an index to a unique identifier. That means that, for example, we can store 5 values of type into in an array without having to declare 5 different variables, each one with a different identifier. Instead of that, using an array we can store 5 different values of the same type, into for example, with a unique identifier.

For example, an array to contain 5 integer values of yep into called marry could be represented like this: marry 2 3 4 where each blank panel represents an element of the array, that in this case are integer values of type into. These elements are numbered from O to 4 since in arrays the first index is always O, independently of its length. Like a regular variable, an array must be declared before it is used. A typical declaration for an array in C++ is: Syntax : array_name [elements]; where database is a valid type (like into, float… , name is a valid identifier and the elements field (which is always enclosed in square brackets [ l), specifies how many f these elements the array has to contain. Therefore, in order to declare an array called marry as the one shown in the above diagram it is as simple as: into marry [5]; NOTE: The elements field within brackets [ ] which represents the number of elements the array is going to hold, must be a constant value, since arrays are blocks of non-dynamic memory whose size must be determined before execution.

In order to create arrays with a variable length dynamic memory is needed, which is explained later in these tutorials. Initializing arrays. When declaring a regular array of local scope (within a function, for example), if we o not specify otherwise, its elements will not be initialized to any value by default, so their content will be undetermined until we store some value in them. The elements of global and static arrays, on the other hand, are automatically initialized with their default values, which for all fundamental types this means they are filled with zeros.

In both cases, local and global, when we declare an array, we have the possibility to assign initial values to each one of its elements by enclosing the values in braces { }. For example: into urinary [5] = { 16, 2, 77, 40, 12071 This declaration would have created an array like this: The amount of values between braces { } must not be larger than the number of elements that we declare for the array between square brackets [ For example, in the example of array marry we have declared that it has 5 elements and in the list of initial values within braces { } we have specified 5 values, one for each element.

When an initialization of values is provided for an array, C++ allows the possibility of leaving the square brackets empty C]. In this case, the compiler will assume a size for the array that matches the number of values included between braces { }: NT urinary [ ] = { 12071 After this declaration, array marry would be 5 nits long, since we have provided 5 initialization values. Accessing the values of an array. In any point of a program in which an array is visible, we can access the value of any of its elements individually as if it was a normal variable, thus being able to both read and modify its value.

The format is as simple as: Syntax: array_name[index] Following the previous examples in which marry had 5 elements and each of those elements was of type into, the name which we can use to refer to each element is the allowing: For example, to store the value 75 in the third element of marry, we could write the following statement: marry[2] = 75; and, for example, to pass the value of the third element of marry to a variable called a, we could write: a = marry[2]; Therefore, the expression marry[2] is for all purposes like a variable of type into.

Notice that the third element of marry is specified marry[2], since the first one is marry[O], the second one is marry[1], and therefore, the third one is marry[2]. By this same reason, its last element is marry[4]. Therefore, if we write marry[5], we would e accessing the sixth element of marry and therefore exceeding the size of the array. In C++ it is syntactically correct to exceed the valid range of indices for an array. This can create problems, since accessing out-of-range elements do not cause compilation errors but can cause runtime errors.

The reason why this is allowed will be seen further ahead when we begin to use pointers. At this point it is important to be able to clearly distinguish between the two uses that brackets [ ] have related to arrays. They perform two different tasks: one is to specify the size of arrays when they are cellared; and the second one is to specify indices for concrete array elements. Do not confuse these two possible uses of brackets [ ] with arrays. into marry[5]; urinary[2] = 75; // declaration of a new array // access to an element of the array.

If you read carefully, you will see that a type specifies always precedes a variable or array declaration, while it never precedes an access. 95 Some other valid operations with arrays: marry[O] = a; marry[a] = 75; b = marry [a+2]; marry[marry[a]] program 4. 1 = urinary[2] + 5; // adding all the elements of an array #include using namespace stud; NT urinary O = {16, 2, 77, 40, 12071}; into n, into main 0 for ( ; n<5 ; n++ ) result += myArr[n]; cout result; return O; Output : 12206 Dynamic Initialization: Arrays can also be initialized during runtime.

The following program shows how to input values into arrays during rum time : program 4. 2 // Inputting value in an array during run-time #include main() into my_ear[5]; // name of array. Values at: “, for(into 1=0; I < 5; i++) //program 4. 3 // program to store 10 integers and show them. //stores value at ith index. for(int i = O; i < 10; i++) cin>>my_ear[ I coot<<"Number at < #include main( ) into a[10] , vale -O; coot<<"lnput ten integers : // inputting array value for(int i = O ; ; i++) a[i]; // searching element Val) cout<<"Element found at index location : " i; getch(); exit(); // if element is found no need to further search, terminate program } // if control flow reaches here that means if() in the loop was never satisfied cout<<"Element not found"; // program 4. 5 // program to find the maximum and minimum of an array : int 17 nt max = min = arr[O]; for(int i = O ; 9 ; i++) < min) min= arr[i]; > Max) Max = ear[I]; 97 coot<<"The minimum of all is : " the maximum is .

Check your progress : 2. 3. 4. Write a program to store 10 elements and increase its value by 5 and show the array. Write the program to divide each of the array element by 3 and show the array. Write a program to find the average of all elements of an array of size 20. Write a program to find second minimum value out of an array containing 10 elements. 4. 2 Strings : Array of characters Strings are in fact sequences of characters, we can represent them also as plain arrays of char elements terminated by a ‘W character.

For example, the following array: char mystery [20]; is an array that can store up to 20 elements of type char. It can be represented as: mystery ‘W 19 Therefore, in this array, in theory, we can store sequences of characters up to 20 characters long. But we can also store shorter sequences. For example, mystery could store at some point in a program either the sequence “Hello” or the sequence “Merry Christmas”, since both are shorter than 20 characters.

Therefore, since the array of characters can store shorter sequences than its total length, a special character is seed to signal the end of the valid sequence: the null character, whose literal constant can be written as ‘O’ (backslash, zero). Our array of 20 elements of type char, called mystery, can be represented storing the characters sequence “Merry Christmas” as: ‘h’ Notice how after the valid content a null character (AWE) has been included in order to indicate the end of the sequence. The panels in gray color represent char elements with undetermined values.

Initialization of null-terminated character sequences Because arrays of characters are ordinary arrays they follow all their same rules. For example, if we want to initialize an array of characters with some predetermined sequence of characters we can do it Just like any other array: char memory[]={H e ‘l’, In this case we would have declared an array of 6 elements of type char initialized with the characters that form the word “Hello” plus a null character ‘W at the end. But arrays of char elements have an additional method to initialize their values: using string literals.

In the expressions we have used in some examples in previous chapters, constants that represent entire strings of characters have already showed p several times. These are specified enclosing the text to become a string literal between double quotes (“). For example: “the result is: ” is a constant string literal that we have probably used already. Double quoted strings (“) are literal constants whose type is in fact a null-terminated array of characters. So string literals enclosed between double quotes always have a null character (AWE) automatically appended at the end.

Therefore we can initialize the array of char elements called memory with a null- terminated sequence of characters by either one of these two methods: char memory e hard memory [ ] = “Hello”; In both cases the array of characters memory is declared with a size of 6 elements of type char: the 5 characters that compose the word “Hello” plus a final null character which specifies the end of the sequence and that, in the second case, when using double quotes (“) it is appended automatically.

Please notice that we are talking about initializing an array of characters in the moment it is being declared, and not about assigning values to them once they have already been declared. In fact because this type of null-terminated arrays of characters are regular arrays we have he same restrictions that we have with any other array, so we are not able to copy blocks of data with an assignment operation.

Assuming mystery is a chart] variable, expressions within a source code like: mystery = “Hello”; mystery[] = “Hello”; would not be valid, like neither would be: mystery={H e ‘l’, The reason for this may become more comprehensible once you know a bit more about pointers, since then it will be clarified that an array is in fact a constant pointer pointing to a block of memory. Using null-terminated sequences of characters Null-terminated sequences of characters are the natural way of treating strings in C+ , so they can be used as such in many procedures.

## Application of chemistry in computer science

Application of chemistry in computer science & engineering Computer degrees often have a general science requirement and chemistry can fulfill that requirement . A computer science student choose to take chemistry classes because they are broadly useful to an understanding of structures and scientific techniques . In chemistry classes , students learn about the basic structure of everything in the universe . Some colleges offer Joint degrees in computer science and chemistry because of the compatibility of these disciplines .

Students who excel in computer science and hammiest can train for careers that use computer applications in chemistry. Chemistry fosters understanding of structure. Dealing with computer code and system architecture requires this type of thinking. A student who takes chemistry for a computer degree learns to recognize the ways in which pieces fit together and from there . He is able to predict the behavior of systems more effectively . In a more direct application of this knowledge , learning electrochemically can foster a better understanding of the microchips and semiconductors that support all modern electronics.

Every chemistry student becomes very familiar with orders of magnitude : comparing very tiny scale objects such an atoms and molecules with medium scale objects such as ourselves and larger scale objects such as the environment and the planet . This also lends itself to an understanding of computers and a deeper ability to visualize to proportions of memory and disk capacity . Chemistry classes teach the meaning of prefixes such as Anna, micro,mega ,gaga and tear that computer users take for granted on daily classes basis .

The classes also familiarize students with the metric system of measurement , which is especially useful to Americans not practices in metric measurements. Computer science relies on the scientist method Just as much as any other science . Laboratory science help students become more intimately familiar with this reliable process of trial and error , recording and testing and help them understand the reasons why it works . Any one studding for a computer degree should understand how to formulate and test a hypothesis , according to information from the Leon University Computer Science Department .

A computer science student seeking a chemistry class has many to choose from some alleges and universities offer short from introductory classes , others require or encourage a complete course such as the year – long cycle of general chemistry . Students should consider the academic requirements for their desired computer degree before deciding on a particular course . Taking more exclusive extensive computer classes such as organic chemistry and beyond can constitute a minor or even a double major . At higher levels , courses such a organic chemistry and beyond can constitute a minor or even a double major .

At higher levels , courses such as organic chemistry , computational chemistry can unite the subjects, creating an academic grounding suitable for employment in fields related to both chemistry and computer science . The field of computational chemistry studies chemical problems using principles from computer science . The result is branch of theoretical chemistry in which chemical problems are expressed in mathematical terms that can be modeled on a computer.

## Computer science industrial attachment propasal

Several processes may be associated with the same program; for example, opening up several instances of the same program often means more than en process is being executed. 1. 2 What is a thread? In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by an operating system scheduler. The scheduler itself is a light-weight process. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process.

Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources (Lewis, Bill, and Daniel J. Berg 1997). N particular, the threads of a process share the latter are instructions (its code) and its context (the values that its variables reference at any given moment). 1. 3 What is the relationship between processes, threads and operating systems An operating system (SO) is a collection of software that manages computer hardware resources and provides common services for computer programs.

The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function (Stallings and William, 2005). In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Barrel, Andrew D (1989). Depending on the operating system (SO), a process may be made up of multiple threads of execution that execute instructions concurrently. A computer program is a passive collection of instructions; a process is the actual execution of those instructions. . 0 ANATOMY OF A PROCESS 2. 1 Process states In a multitasking computer system, processes may occupy a variety of states. These distinct states may not actually be recognized as such by the operating system erne, however they are a useful abstraction for the understanding of processes (Nelson, 1991). The following typical process states are possible on computer systems of all kinds. In most of these states, processes are “stored” on main memory. I. Created (Also called New) When a process is first created, it occupies the “created” or “new” state.

Ready and waiting A “ready” or “waiting” process has been loaded into main memory and is awaiting execution on a CPU (to be context switched onto the CPU by the dispatcher, or short- term scheduler). There may be many “ready” processes at any one point of the system’s execution-?for example, in a one-processor system, only one process can be executing at any one time, and all other “concurrently executing” processes will be waiting for execution. Booking, Joseph, David Kirsches, Alan Lumberman, and Susan Lovers(1994). A ready queue or run queue is used in computer scheduling.

Modern computers are capable of running many different programs or processes at the same time. However, the CPU is only capable of handling one process at a time. Processes that are ready for the CPU are kept in a queue for “ready” processes. Other processes that are waiting for an event to occur, such as loading information from a hard drive r waiting on an internet connection, are not in the ready queue Attenuate, Andrew S (1995). Iii. Running A process moves into the running state when it is chosen for execution. The process’s instructions are executed by one of the Cups (or cores) of the system.

There is at most one running process per CPU or core. Yves Beakers and Jacques Cohen(1992). Lb. Blocked (Waiting) A process that is blocked on some event (such as 1/0 operation completion or a signal). A process may be blocked due to various reasons such as when a particular process has exhausted the CPU time allocated to it or it is waiting for an event to occur. Yves Beakers and Jacques Cohen(1992). V. Terminated A process may be terminated, either from the “running” state by completing its execution or by explicitly being killed. In either of these cases, the process moves to the “terminated” state.

If a process is not removed from memory after entering this state, it may become a Zombie process. Yves Beakers and Jacques Cohen(1992). 2. 2 Additional process states Two additional states are available for processes in systems that support virtual memory. In both of these states, processes are “stored” on secondary memory (typically a hard disk). . Swapped out and waiting (Also called suspended and waiting. ) In systems that support virtual memory, a process may be swapped out, that is, removed from main memory and placed in virtual memory by the mid-term scheduler. From here the process may be swapped back into the waiting state.

Lee Sergeant, T. And B. Furthermore(1992). It. Swapped out and blocked (Also called suspended and blocked. ) Processes that are blocked may also be swapped out. In this event the process is both swapped out and blocked, and may be swapped back in again under the same circumstances as a swapped out and waiting recess (although in this case, the process will move to the blocked state, and may still be waiting for a resource to become available). Nelson, Greg (editor) (1991). 2. 3 Process Priorities Here are some applications that hog up too much memory even when you don’t need them.

This greatly lowers the responsiveness of your computer and makes other, more important applications, run slower than they are supposed to. Some of the times, you are not even aware and a process related to some third party application keeps running in the background eating up all the memory. You realize something is ring only when the computer, either gets too slow, or goes entirely into non responding mode. Lee Sergeant, T. And B. Furthermore(1992). Process Prioritize is an application for Windows that allows you to adjust the priority of running applications.

This allows you to stop memory intensive applications interfering with others. The application lets you add applications to different priority settings, such as Real-Time, High, Normal and Idle. You can also view a list of currently active processes and choose a custom Operating Mode. Keep reading to find out more about Process Prioritize. . 4 Context switching In computing, a context switch is the process of storing and restoring the state (context) of a process so that execution can be resumed from the same point at a later time.

This enables multiple processes to share a single CPU and is an essential feature of a multitasking operating system. Attenuate, Andrew S (1995). What constitutes the context is determined by the processor and the operating system. Context switches are usually computationally intensive, and much of the design of operating systems is to optimize the use of context switches. Switching from one recess to another requires a certain amount of time for doing the administration – saving and loading registers and memory maps, updating various tables and lists etc. . 4 Process Relationships In the concurrent environment basically processes have two relationships, competition and cooperation. In the concurrent environment, processes compete with each other for allocation of system resources to execute their instructions. In addition, a collection of related processes that collectively represent a single logical application cooperate with each other. There should be a proper operating system to purport these relations. In the competition, there should be proper resource allocation and protection in address generation.

Arnold, Ken and James Gosling(1998). We distinguish between independent process and cooperating process. A process is independent if it cannot affect or be affected by other processes executing in the system. Features of independent processes include the following; I. Their state is not shared in any way by any other process. It. Their execution is deterministic, I. E. , the results of execution depend only on the input values. Iii. Their execution is reproducible, I. E. The results of execution will always be the same for the same input. ‘v.

Their execution can be stopped and restarted without any negative effect. 2. 5 Process Maps allocation and protection in address generation (Robbins, Kay, 1996). Cooperating process: In contrast to independent processes, cooperating processes can affect or be affected by other processes executing the system. They are characterized by: I. Their states are shared by other processes. It. Their execution is not deterministic, I. E. , the results of execution depend on relative execution sequence and cannot be predicted in advance. Their execution is irreproducible, I. . , the results of execution are not always the same for the same input 2. 6 Process resources In general, a computer system process consists of (or is said to ‘own’) the following resources Mary Norton (1997): I. An image of the executable machine code associated with a program. It. Memory (typically some region of virtual memory); which includes the executable code, process-specific data (input and output), a call stack (to keep track of active subroutines and/or other events), and a heap to hold intermediate computation data generated during run time. Iii.

Operating system descriptors of resources that are allocated to the process, such as file descriptors (Unix terminology) or handles (Windows), and data sources and sinks. Iv. Security attributes, such as the process owner and the process’ set of permissions (allowable operations). V. Processor state (context), such as the content of registers, physical memory addressing, etc. The state is typically stored in computer registers when the process is executing, and in memory otherwise. The operating system holds most of this information about active processes in data structures called process control locks.

That is each process has the illusion that it is the only process on the computer and that it has exclusive access to all the services of the operating system. The concurrently running processes can represent different programs, different parts of a single program and different instances of a single program. The total number of processes (or programs) that can run on the system at any time depends on several factors including the size of the memory, the speed of the CPU (central processing unit) and the size of the programs ( Keith E, 2011).

All processes are fully protected from each other, Just as the kernel (I. E. , the core of an operating system) on a well-designed system is protected from all processes, so that a crash (I. E. , a halt to functioning) in one process or program will to cause another program or the entire system to crash. However, processes communicate with each other when necessary (Adair D, 2010). The ability to execute more than one task at the same time, a task being a program. The terms multitasking and multiprocessing are often used interchangeably, although multiprocessing implies that more than one CPU is involved.

In multitasking, only one CPU is involved, but it switches from one program to another so quickly that it gives the appearance of executing all of the programs at the same time (Dislikes, 2009). 3. 2 Levels of Multitasking: 3. 2. Session level multitasking It is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user. A session is set up or established at a certain point in time; this process is called assassination, and torn down at a later point in time.

An established communication session may involve more than one message in each direction. A session is typically, but not always, statuses, meaning that at least one of the communicating parts needs to save information about the session history in order to be able to communicate, as opposed to stateless communication, where the communication consists of independent requests with responses (Dislikes, 2009). This is the multitasking between different user sessions, A user when using a computer system may run or may be performing more than one task/ sessions in such a situation, we term it as session-level multitasking . . 2. 2 Process-level multitasking When different people are using a process at a time I. E each person running a thread of execution within the process that is multitasking at the process. Different users ay be using a process at the same time and that is multitasking at the process level (Keith E, 2011). 3. 2. 3 Multithreading Multithreading is the ability of a program or an operating system process to manage its use by more than one user at a time and to even manage multiple requests by the same user without having to have multiple copies of the programming running in the computer.

Each user request for a program or system service (and here a user can also be another program) is kept track of as a thread with a separate identity. As programs work on behalf of the initial request for that thread and are interrupted by there requests, the status of work on behalf of that thread is kept track of until the work is completed. 3. 3 Cooperative and preemptive multitasking Cooperative A form of multitasking where it is the responsibility of the currently running task to give up the processor to allow other tasks to run.

This contrasts with pre-emotive multitasking where the task scheduler periodically suspends the running task and restarts another. Cooperative multitasking requires the programmer to place calls at suitable points in his code to allow his task to be deselected which is not always say if there is no obvious top-level main loop or some routines run for a long time. If a task does not allow itself to be deselected all other tasks on the system will appear to “freeze” and will not respond to user action (Adair D, 2010).

The advantage of cooperative multitasking is that the programmer knows where the program will be deselected and can make sure that this will not cause unwanted interaction with other processes. Under pre-emotive multitasking, the scheduler must ensure that sufficient state for each process is saved and restored that they will not interfere. Thus cooperative multitasking can have lower overheads than pre-emotive multitasking because of the greater control it offers over when a task may be deselected (Adair, 2010).

Cooperative multitasking is used in RISC SO, Microsoft Windows and Macintosh System 7. (1995-03-20) Preemptive In computing, preemption is the act of temporarily interrupting a task being carried out by a computer system, without requiring its cooperation, and with the intention of resuming the task at a later time. Such a change is known as a context switch. It is normally carried out by a privileged task or part of the system known as a preemptive scheduler, which has the power to preempt, or interrupt, and later resume, other tasks in the system (Keith E, 2011).

The term preemptive multitasking is used to distinguish a multitasking operating system, which permits preemption of tasks, from a cooperative multitasking system wherein processes or tasks must be explicitly programmed to yield when they do not need system resources. In simple terms: Preemptive multitasking involves the use of an interrupt mechanism which suspends the currently executing process and invokes a scheduler to determine which process should execute next. Therefore, all processes will get some amount of CPU time at any given time.

In preemptive multitasking, the operating system kernel can also initiate a context switch to satisfy the scheduling policy’s priority constraint, thus preempting the active task. In general, preemption means “prior seizure of”. When the high priority task at that instance seizes the currently running task, it is known as preemptive scheduling (Dislikes, 2009). According to Dislikes (2009) Preemptive multitasking allows the computer system to more reliably guarantee each process a regular “slice” of operating time.

It also allows the system to rapidly deal with important external events like incoming data, which might require the immediate attention of one or another process. Preemptive multitasking is task in which a computer operating system uses some criteria to decide how long to allocate to any one task before giving another task a turn to use the operating system. The act of taking control of the operating system from one task and giving it to another task is called preempting (Keith E, 2011). A common criterion for preempting is simply elapsed time (this kind of system is sometimes called time sharing or time slicing).

In some operating systems, some applications can be given higher priority than other applications, giving the higher priority programs control as soon as they are initiated and perhaps longer time slices. Example: A receive interrupt handler for a serial port writes data too mailbox. If a task is waiting at the mailbox, it is immediately activated by the scheduler during preemptive scheduling. In cooperative scheduling, however, the task is only brought into the state “Ready”. A task switch does not immediately take place; after the interrupt handler has completed, the task having been interrupted continues to run.

Then verifying that the limit has been overridden. Scott J. Norton, Mark D. Audiovisual (1997). 4. 7 Thread stack referred to as its stack. Features of thread stack Stack data is added and removed in a last-in-first-out manner, stack-based memory allocation is very simple and typically faster than heap-based memory allocation (also now as dynamic memory allocation). Gregory R. Andrews (2000). Another feature is that memory on the stack is automatically, and very efficiently, reclaimed when the function exits, which can be convenient for the programmer if the data is no longer required.

If however, the data needs to be kept in some form, then it must be copied from the stack before the function exits. Therefore, stack based allocation is suitable for temporary data or data which is no longer required after the creating function exits. Richard H. Carver, Quo-Chunk ATA (2005). A thread’s assigned stack size can be s small as a few dozen kilobytes Allocating more memory on the stack than is available can result in a crash due to stack over flow. Some processors families, such as the EX., have special instructions for manipulating the stack of the currently executing thread.

Richard H. Carver, Quo-Chunk ATA(2005). Other processor families, including power PC and MIPS,do not have explicit stack support, but instead rely on convention and delegate stack management to the operating system’s Application Binary Interface(Able). 4. 8 Thread control Thread Control Block (ETC) is a data structure in the operating system kernel which notations thread-specific information needed to manage it. The ETC is the manifestation of a thread in an operating system (Edward L, 2008). An example of information contained within a ETC is: I.

A maximum priority iii. A scheduled priority The scheduled priority is used to make scheduling decisions about the thread. It is determined from the priority by the policy (for timesharing, this means adding an increment derived from CPU usage). The priority can be set under user control, but may never exceed the maximum priority. Changing the maximum priority requires presentation of the control port for the thread’s processor set; since the control port or the default processor set is privileged, users cannot raise their maximum priority to unfairly compete with other users on that set.

Newly created threads obtain their priority from their task and their Max priority from the thread. Marin Aegean, William D. Roomer (1989). Conceptually it is true that threads run concurrency but in practice it isn’t. Most computer configurations have a single CAP], so threads actually run one at a time in such a way as to simulate concurrency. The execution of multiple threads on a single CAP], in some order, is called scheduling. The Java runtime purports a very simple, deterministic scheduling algorithm known as fixed priority scheduling.

This algorithm schedules threads based on their priority relative to other “Rentable” threads. Mary Norton (1997). When a Java thread is created, it inherits its priority from the thread that created it. You can also modify a thread’s priority at any time after its creation using the osteoporosis() method. Thread priorities range between MIN_PRIORITY and MAX_PRIORITY (constants defined in class Thread). At any given time, when multiple threads are ready to be executed, the runtime system chooses he “Rentable” thread with the highest priority for execution.

Only when that thread stops, yields, or becomes “Not Rentable” for some reason, will a lower priority thread start executing. If there are two threads of the same priority waiting for the CAP], the scheduler chooses them in a round-robin fashion. Arrant Shall, Adjusts Garish (2012). The Java runtime system’s thread scheduling algorithm is also preemptive. If at any time a thread with a higher priority than all other “Rentable” threads becomes “Rentable”, the runtime system chooses the new higher priority thread for execution. The new higher priority thread is said to preempt the other threads.

Clay Breathers (2009). The Java runtime system’s thread scheduling scheme can be summed up with this simple rule: Rule: At any given time, the highest priority rentable thread is running. Sometimes we have “selfish” threads which take over the CPU and cause other threads to have to wait for a long time before getting a chance to run. Some systems fight selfish thread behavior with a strategy known as time- slicing. Time-slicing comes into play when there are multiple “Rentable” threads of equal priority and those threads are the highest priority threads competing for the CAP].

## Technology Computer Science

This proves that the relation of technology with Human unity has countless and often unpredictable outcomes and effects on today’s society. The smartened is a prime example of advancement of technology and its interaction with humans. Cellular devices such as the smartened went from the classic buttons to the more common touchstones. And when people might have began thinking that that was the farthest a phone could be technologically advanced, they were proven wrong again! Now Human ins only have the unique and quick option to instead type a text to communicate and carry oh actions, we now have the unique option to instead use voice guidance.

Technology and Humanity: A Positive Side Technology has done nothing but good for the Human race since the beginning of tit me! Positive effects technology has on society include Education, transportation, Household d and Industry, Exchange of Information, Advertising and Entertainment, Cellular Communion action and countless more. Technology influences many other aspects of our lives; directly a ND indirectly. Simply put, technology is almost a necessity in today’s society. Where would we be as a people without technology? This question can only be answer red with disaster.

Technology gives mankind a sense of direction and guidance and with UT it, almost everything we take for granted today, would be a struggle without the gift that is tech oenology. Complications and problems that would exist without the presence of technology coo old include minimum communications, drastically slower Transportation, Limited Connections, K knowledge and even Education! For example, there are key pros of Technology with concerns to Education. With Technology and Education hand in hand, technology further enhances people’s (stud net’s) interests about School in general.

For example, being engaged with their lessons by b Ewing occupying themselves with virtual field trips and video tutorials. With Technology and Humanity, there are endless positive possibilities that are discovered and developed in everyday life. For example, www. Academia. Deed’s article discusses numerous success between the two, “Technological advancements have shown a sub Satanist growth concerned with each and every field whether it be the communication system astronomy, semiconductor devices,automobiles, electronic devices of daily usage, bio electronic vices, building and architectural design techniques or the computers”.

The pros m ay seem endless, however there are cons as well. Advancement in Technology: A Darker Side Where there are upsides to a situation, there are downsides. With Technology, there are without a doubt cons when it comes to their relationship with Humanity. This “Darker Side” of technology includes major reliance on technology, the abuse of technology, and the tit me consuming effects of technology. Technology is a wonderful things, and Humans love using it, whether they’re compute tablets, phones, and even television. However, this can become highly addictive and c cause Humans to be “too” actively engaged with technology.

Due to this, we become so busy and distracts us from spending time with loved ones and even doing everyday activities. Society has developed a major dependence and reliance on Technology. This can ca us to lack patience, and even a willingness to act before we think. For example, we ca n become inpatient in slight situations, such as waiting for speedy responses to our emails, text s, and calls. This major dependence on technology can negatively affect us in situations where we deed patience and even do something ourselves without the use of technology.

Weapon Engineering: Technology and Weapon’s are one in the same. But many will ask the controversial question, is it for a good or better worse cause? I believe it is for both. Weapons are useful; even a need in most situations. Www. Academia. Du states, “Nevertheless, weapon incorrigibleness and provides a huge advance. Rivalry bet when the countries may also be ascribed to technological advancements, as the countries com Pete for the development of new warfare techniques and equipments”. This is a huge plus because SE weaponry is not only local, for example, a robbery or house invasion. It is worldwide!

Technology advances weaponry everyday, and they are required in even the biggest of situations such as War. Weapons, on the other hand obviously could be a negative thing. Www. Academia. Du states “Nevertheless, weapon engineering propels and provides a huge advance. Rival Ire between the countries may also be ascribed to technological advancements, as the countries c moment for the development of new warfare techniques and equipments”. This quote highlights the issue of he possibility of full on world warfare, all due to the greediness and competitiveness of countries too have the latest and strongest weapons.

Quite honestly, its only a matter of time when they will be used; this should not be a possibility whatsoever. However, this is t he problem that weapons/ technology pose on the world today. Artificial Intelligence: What is Artificial Intelligence? According to wry. Merriam Webster. Com, is is” l:an area of computer science that deals with giving machines the ability to seem like they have e human intelligence 2: the power off machine to copy intelligent human behavior”. Believe it or not, there are many reasons to like and dislike Artificial Intelligence.

Albert Hubbard once said, “One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man”. This is true without a doubt. Art facial Intelligence is used everyday to the benefit of mankind. With that being said, there ar e numerous benefits of Artificial Intelligence. For example, accomplishing tasks without getting tier deed. An example of this is getting a specific objective or task completed without taking breaks such as a lunch or coffee break. In summary, Artificial Intelligence can get a Job done almost ins dental, compare to that of humans alone. The real danger is not that computers will begin to think like men, but that men will begin to think like computers” is a quote stated by Sydney J. Harris. It is quite accurate e. Despite the benefits of Artificial Intelligence, there are key disadvantages to it. What if the Art Intelligence were to break down? If you were performing a task, such as transferring money from one device to another, it could all be gone in an instant. Ironically, Just as easy it is to omelet a task with Artificial Intelligence, it is as easy for an entire task to turn into nothing. Sadly, there are numerous other cons to Artificial Intelligence.

There is also the possibility of losing countless amounts of information. https:// half-heartedness’s. Org further explains, “In particular cases, because of the malfunction of specific parts, artificial mi ND can fall short to keep its memory all the files which it must have. This thing can also occur wit h humans. Once a person is liable of the keeping of information and collection of data and fall s worth to do he Job, it is somewhat that is accepted and frequently branded as your mistake. On t he other hand, with artificial mind it is not assumed and this really makes the entire difference , in the end making it an issue.

Artificial intelligence or computer system requires to be switched off on a daily basis for work maintenance. This could be a restraint to output and efficiency as well as to the whole interests and benefits of the company in question”. Artificial Intelligence is truly a Wild Card in its possible outcomes. Medical Technology: Medical Technology, according to www. Wisped. Com is “Medical Technology, which s a proper subset of health technology, encompasses a wide range of healthcare pro ducts and is used to diagnose, monitor or treat diseases or medical conditions affecting humans”.

Medical Technology is a positive side of the relationship between technology and humanity. T his deals with the improvement of human health, and this is key to society. People will continuo e to gets, hurt and injured. The field isn’t going away anytime soon. Medicine is the Holy Grail of human health, and without it people would not survive. Medical Science is extremely beneficial, “Research in the field of medicine has allow d for the velveteen of many new treatments, drugs, medicines, and solutions that have allow wed for the dramatic prolegomena of the human lifespan. As stated by www. Academia. Du. Due to the advancement and development of Medical Technology/ Science, human life spans are expanding and people are living longer and happier lives because of it. Nuclear Technology: Nuclear Technology is a very debatable topic. Nuclear weapons, nuclear medicine, an d nuclear power are among the many applications Nuclear Power can be used for. One of the most controversial being Nuclear Weapons. However, when determining an opinion on this epic, it should be determined from a standpoint of the people as a whole, rather than Indian dually.

A positive aspect of Nuclear Technology includes Nuclear Medicine. Nuclear Medicine e diagnoses diseases, x rays can identify sensitive parts of the body when identifying a disease, physicians can perform their operations easier and more responsibly due to Nuclear Medicine. Nuclear Power is another positive for Nuclear Technology. Nuclear Power is consider deed as another great source of energy, and it is a manageable source of regenerate energy. However, there are numerous downsides to Nuclear Technology. Although Nuclear Power can be positive, some negatives sometimes outweighs it.

Nuclear Power proud radiation, which can lead to cancer in Humans and almost everything about Nuclear Power is expensive. Www. Half-heartedness’s. Org states that “Research in the field of Medici en has allowed for the development of many new treatments, drugs, medicines, and solution s that have allowed for the dramatic prolegomena of the human lifespan”. Lastly, there is the issue e Of Nuclear Weapons. When used, Nuclear Weapons are highly dangerous. The risk of huh man life when these weapons are used are great.

Agriculture Technology: Technology has a major impact on Agriculture, and its advancements are gradual. For example, by using agricultural biotechnology Some examples of Agricultural Techno include: use of machines on farms, modern transportation, cooling facilities, genetically produced plants, development of animal feeds, breeding of animals which are resists NT to diseases, and irrigation of plants. The list goes on. Everything under the field of Agric ultra Technology is almost certainly a positive and a benefit to society. Conclusion: In conclusion, Humanity and Technology is a very interesting mix.

## Why Study Computer Science?

Computer science Is the discipline that has made this entirely new way of life possible for us as a nation, world, and species. The study of computer science, Like other subjects in a liberal arts education, gives us a broad and deep understanding of the fundamental concepts and principles underlying much of our world. When you go to banks what do you see? When you go to airports, what do you see representatives use to carry out flight reservations? When It Is time to vote for a new president, what is used for the voting process? Your answer is computers. Computers hat make it possible for multifaceted tasks to be done.

There are several special aspects of computer science that make it an important and useful field of study. For example, Algorithmic Thinking, computer science focuses on the discovery and development of algorithms, or methods of solving problems that can be automated. No matter what field I work in, if I can conceptualize the solution of a problem as an algorithm, that problem can be solved with a computer. Algorithmic thinking that I learn to do In computer science Is a systematic and general-purpose approach to robber solving that cuts across all of the dullness’s In science, engineering, and the arts.

When engineering and using artistic abilities, there also comes the idea of creating the “next big thing” for whatever purpose. Designing and Making Things Is also an Interesting component of computer science. Computer science has sometimes been called the “science of the artificial. ” Computer scientists design and construct descriptions (algorithms) of entirely new processes never before encountered in nature. These processes can bring into being an entirely new and intriguing artificial world. Like the real world of artifacts created by artists, craftsmen, and engineers, the world created by computer scientists can be entirely virtual. By learning how to design and make things in computer science, I will become a better designer and composer of things in any field. Being able to design Is a valuable asset to have In the computer science field. It Is a procedure and having a frame of mind that enables you to orchestrate designs with information architecture. Making it possible for new interfaces and marketable projects to be brought to life. Information Architecture Is also very Important to me as an “Inventor. The “things” that computer scientists make and manipulate with algorithms are pieces of information. Many of these “bits” are digitized representations of “real things,” such as photographs, musical tunes, and movies. The computer scientist focuses on how to organize and control the complexity of this Information so that It can better represent reality. The skills of organizing and managing the complexity of information that I acquire in computer science are important in almost any area of org or study. As an author, accountant, business manager, consultant, and designer.

There are countless amounts of Information needed to create successful projects. I can take procedures learned through computer science anywhere, In addition to knowledge about technology. This is what our world and successful, progressive businesses have come to understand. Acquire a degree in and say “there, I know it all”. One must continually have to keep up with where technology is going and what is useful and what is not. My personal interests are: AD Graphics and Multimedia, highly scalable network server technology, and general performance engineering and driver level development.

I also have a passion for sports. I am one who wants to connect people to computers. If I can generate products for the NAB, ML, NFG, NCAA etcetera. Then I am not only expanding the effectiveness of computer science, but also developing graphics and enhancing multimedia projects through an industry that is widely viewed upon. The world of sports has been my target since the beginning. As a child I wanted to come an infamous athlete, but as I grew older, I realized that I could involve in such a profession in a different yet effect manner.

Entering by way of the world of technology I am a native of Chicago Illinois, an African American male who for years has been laughed at because I could not freely express my interest in computer science with the likes of friends and family members because of the pre-determined “way of life” that consisted only of sports. I have always wanted to travel around the world to gain knowledge of how technology is growing, and in turn take those from a less privileged environment like the south side of Chicago with me.

My mission is to broaden horizons, make those around me believers. That showing interest in something whether it is science, sports, or writing is never a problem. Having a dream and taking action is all one needs to be whatever it is they see themselves becoming regardless of what people say about you. I was one told by Mark Seersucker “you don’t make many friends, without making a few enemies first. ” I intend to display leadership upon my peers within a field that they too can excel in. Sports and retail ere career areas that I was limited to as a child.

But it started with me telling myself that “l want more. ” Now it is up to me to be that inspiration to those who limit themselves because of poverty and boundaries. With a degree in computer science I plan on being the next “Michael Jordan” Just with a virtual and technical twist. It will not only stand for the many computer science classes that I have taken, but a statement of individuality, and work ethic. It will stand for a future of promising beginnings for many generations after myself.

## The Impact of Computer Science on Health Care & Medicine

Medicine Abstract Computer science can be defined as the systematic study of algorithmic processes, their theory, design, analysis, implementation and application. Its functions In the modern society today expand far beyond the uses one could even begin to Imagine. Specifically, there is an Increased Influence In Its practical application in the field of medicine. In recent times, an interdependent relationship between medicine and technology itself has been developed that did not exist before.

Modern healthcare relies heavily on the application of computer technology n furthering its advancement of bioinformatics, biotechnology, artificial organ technology, robotic surgery as well as the process of medical diagnostics. Medicine Is the science of treatment and healing of health and Illness and has been documented to originate from as early as the prehistoric age. Surgical operations have been recorded to exist since the ancient Egyptian civilizations, in which they utilized knives, hooks, spoons, and pincher’s in their crude surgeries.

However, despite these early manifestations of medicinal practices, the lack of proper health care was apparent through the deficient development and involvement of genealogy with medicine. The Bubonic Plague In the 14th and 1 5th century wiped out a devastating one-third of Rupee’s inure population due to the complete lack of decent diagnostics and vital vaccines, two elements, related to technology, that were critical to the downfall of Europe during the Black Death. History serves as a testament to the impact that the contributions of the technology have on the advances in medicine.

More in-depth research in medicine was made possible with technological discoveries, such as the microscope, and made way for the breakthroughs In microbiology, vaccines, and many other fields. As the study of computer science was Introduced to human isosceles In the sass and machines called ‘computers’ that had a broad range of capabilities for information processing were created in the sass, medicine directed its route on the fast track and its developments merged with the innovations of technology to form new biological and technological Insights, particularly in the field of bioinformatics and biomedical engineering.

Bioinformatics Is the field of science In which biology, computer science, and technology merge, generally In the field of genetics, to allow the discovery of illogical information; it was created by Pauline Hogged and Ben Hesperus in 1978. Bioinformatics’ main fields consist of genomics and DNA sequencing which have been able to further develop through the involvement of computer science in the form of databases, algorithms, and computational analysis of biological data. The study of bioinformatics has “led to an explosive growth in the biological information generated by the scientific communists the Facts.. . One of Its most significant researchers strive to create developments to form an understanding of the biological processes that make up the individual elements of human body. Bioinformatics’ significant revolutionary insights include DNA sequencing, protein modeling, and genome mapping, which were all only made possible through the influence of technology and computational biology, the process of analyzing and interpreting data. Biotechnology is the applied biology in the combination of engineering, medicine, and technology.

It, along with biomedical engineering, encompasses the design and analysis that is available through computer science with the fundamentals of biology to improve medical diagnosis, innovations, and monitoring. Emerging from the research of biomedical engineering is the development of restorers, medical devices for imaging and implants, growth in pharmacology, and robotic surgery, among a vast list of other notable contributions to the medical field and the tissue, neural, genetic, and pharmaceutical engineering.

The influence of computer science and technology has allowed intensive research and the discovery of methods that benefit human societies in the concern of health, specifically in the form of artificial organs and medication. The technology of bioinformatics impacts modern society today through the research and developments of protein modeling, DNA sequencing, and genome mapping. By studying a protein’s structure, family, and the distinct protein building blocks, scientists are able to restructure the evolutionary relationships between species and comprehend the disease-related processes in living organisms.

This is done through X-ray crystallography and NOR spectroscopy technology and will continue to be an essential method of testing various biological hypotheses. DNA sequencing and genomic mapping is a newly introduced technology that decodes the individual chromosomes, genes and nucleotide sequences through new technologies, sequencing data, and computerized APS. The quickly rising field of bioinformatics is crucial to the progress of discovering the cure to genetic diseases.

It has transformed both the technology it requires to function as well as the revolutionize medical knowledge “in the diagnosis, treatment, and prevention of many genetic diseases” Oust the Facts… ). The implications of this transformation of information are astounding in the way bioinformatics will alter and modernize the medicine field and sciences in the promotion of large-scale genetic disease prevention that is specific to the client’s genomes. Biomedical engineering is vital to the modernizing of the societies today through the expansion of artificial organs and robotic surgery.

Seeking the marriage of engineering and medicine, biomedical engineering provides researchers and developers the opportunity to construct objectionable prosthetics and artificial organs that allow the members of our communities to thrive in a society despite having to endure a disability. This proves to be an enormous and direct impact to lives of millions internationally as the results of biomedical engineering offers the chance to live and function with a normal life.

Computer-assisted surgery has made a recent breakthrough in the field of biomedical engineering as it combines robotic technology with human medicine. Robotic surgery also completely transforms the orthodox method of surgical operations as it eliminates both the need for humans and any possible human errors that affect the end result of surgeries, promoting the With all the changing technologies and its effects on medicine, the daily human life will be, with no doubt, influenced to a great extent.

I feel that the revolutionize changes will increase the quality of health care especially through the innovations of richest, artificial organs, and even stem cell research. I feel that medicine combined with engineering and technology promises great potential in the advancement of human societies by improving human health, science, and medicine overall. However, I worry about the implications that robotic surgery has for Job prospects for surgeons and those in the medical field.

I understand that eliminating human error in surgery will prove to be more than beneficial for both patients and medicine; however as a student aspiring to hold a future career in medicine, I fear hat the need and popularity for medical professions may become greatly limited due to the advancing technology involving computers in the health care field. Endnotes Bibliography Biotechnology. Available: https://www. Absoluteness’s. Com/topics/technology.

## SOP for MS in Computer Science

After completing my bachelor’s degree in Electrical Engineering, I was Interested in Joining the Information Technology Industry. So I pursued my dream by enrolling In a six-month Post Graduate Diploma course In Advanced Computing. At the end of the course I got a job in Software Automation Testing with Verifies Networks. After working in Perl for 1 year at Verifies, I Joined Siemens Information Systems Limited. There I worked in Automation Testing using Microsoft . Net Technologies.

Working with Siemens was both challenging and rewarding, as we did not use any commercially available tool for testing but rather created, designed and developed our own automation scripts, frameworks, Apish to communicate with the hardware, ND developed various automated test tools to check system performance, integrity, stability, etc. After 4 years in Siemens, I joined Schneider Electric where I was given the leadership of introducing automation testing into our project. I worked with several teams to understand the project requirements and built automation testing framework using MUSIC and developed testing tools using MS Silversmith and .

Net This strong professional experience has given me a better understanding of the immense potential of technology to materialize innovative ideas ideas which not only help solve our toughest problems but also enrich our everyday lives by objective research and even humble developments. To create innovative technologies and bring research ideas to life, I will need appropriate problem solving approach and a competitive environment that will help sharpen my acumen In research. A Master’s degree with thesis will help me acquire these skills.

In my 6 years working In the IT industry, I have developed specific interests in the fields of Computer Visualization, Data Mining and Software Engineering. University of Pennsylvania is en of the renowned universities in USA and houses research teams that work on the areas of my interest. Given a chance, I would like to continue this Journey in your department. Developing automation tools for AD and AD Imaging Applications of Siemens ultrasound machine, I gained a fair idea of the domain of ultrasound in Healthcare.

I substantiated my knowledge by studying more about specialized areas like Visualization and how it transforms complex data into graphics representations that enhance the perception and meaning of data. AD Visualization, one of the latest advances in the field of medical science, plays a vital role in diagnosis and has the performance in arresting or curing a disease. However in many countries, like in India/Bangladesh, these advanced facilities are still unavailable to most physicians.

Also, in many cases, the visualization of the AD anatomy is not very easy even with state-of-the-art techniques. Broadening our research areas in the field of medical science might enable us to build more affordable medical equipment. For instance MIT developed an inexpensive smart phone device ‘Cater’ that can detect cataract. In a country like India where public healthcare services are dismal and even basic level healthcare is beyond the reach of most citizens, we have to devise innovative ways in similar lines to make better healthcare reachable to all.

This is an area where emerging research can have a significant positive effect on people’s lives. I want to specialize in the field of Computer Graphics and Visualization to exploit the significant potential of AD visualization. Not only will this open more options for minimally invasive or non-invasive surgeries, it may also vastly simplify post- operative care and expenses. At University of Pennsylvania, I am especially excited by work being carried out in the ‘Computer Graphics, Computer Vision and User Interfaces’ research area.

I want to develop my skills and knowledge in this field by working in the project group ‘Visualization Research Group’ under Proof. Sebastian Bauer and use this knowledge to further my chances of a career in a research institute like Siemens Corporate Technology, a research division of Siemens. By working with this research group, I will learn how vast quantities of complex data can be represented in a visual and legible format to respective users. I may also get a hence to learn about the latest technology ‘AD Visualization’ and invent ways to use it in medical domain in a cost effective manner.

In my undergraduate project, I worked on Forecasting Power Consumption and Energy Needs for the State Electricity Board based on historical energy usage using Neural Networks. I analyzed huge piles of records to understand the usage behavior based on season, time of the day, location, etc. Although the project was very rudimentary, I quickly realized how helpful, economical and efficient energy usage would be, if this was implemented. Luckily again in Schneider Electric, I worked on energy monitoring application which had similar approach.

There I could see the practical benefits. This experience triggered my interest in Data Mining. This is a field that helps develop intuitive systems that forecast future problems and channel solutions based on current data. Rapidly developing economies like the BRICK countries are among the largest markets for automobiles which is leading to heavy traffic issues, fossil fuel wastage and alarming pollution levels. All these can be mitigated if we encourage Data Mining as a research area in the companies working with public service departments.

If we look through various databases available to analyze association between population increase/emigration and rate of increase in the number of vehicles, rush hour among all these which will enable us find solutions to our traffic woes like building intelligent traffic control systems or innovative routes that can ease traffic congestion, reduce fuel usage and cut down emission. Corporate initiatives like Vim’s Smarter Cities are using data mining principles to help give authorities the tools to analyze current problems or anticipate future ones from available data and find solutions or-actively. L want to study Data Mining to work with such research companies and address some of the challenges most developing countries are facing today. University of Pennsylvania ‘MADAM : Models and Data Analysis Initiative’ research group is conducting cutting-edge studies in data mining and would give me exceptional opportunities to develop my skills. I am especially interested in the fact that MADAM emphasizes areas that are sometimes in domains outside of computer science. Similarly, I want to use my Data Mining knowledge in solving some real-time robbers that cross disciplinary boundaries.

I would be excited to work under Proof. Edward Griffin, because my objective of tackling real world problems is in accordance to his research interests. Not every emerging technology is a breakthrough but some truly do have the potential to change our social landscape, and to build such effective technologies we need effective testing tools that will help create a dependable product. This drives me towards Software Engineering. Testing a subdivision of Software Engineering, especially Automation Testing, is one of the most underrated parts of the Software Development Life Cycle.

A major area of the IT industry is unable to identify the importance of strong testing skills, resulting in a low skilled team where testing is executed within a limited boundary of a few pass/fail scenarios. In my years working in IT, I realized automation testing requires far more expertise; it’s Just like any development project requiring proper planning, design and commensurate skills. *l also realized how important it is to embrace the latest technologies in automation scripts as the latest software developed are far more enhanced to be truly tested tit age old testing methodologies. Since I’ve worked in this domain for so long, I know if I specialize in the field of Software Engineering, I can introduce Software Testing and Methodologies as a research area in corporate level and help promote Automation Testing as a crucial part of software development. Working with Dry. Lars Anderson in ‘Analysis of Computer Systems Group’ under Software Engineering research area at University of Pennsylvania would help me understand latest software engineering practices and how it can be implemented to expedite software jesting and overall product development.

While my primary areas of interests are Computer Visualization, Data Mining and Software Engineering, I look forward to gaining a broad foundation in Computer Science during my MS, and I am eager to learn about other research opportunities. My brother who is pursuing PhD in CSS, Bangor also strongly recommended your university on the basis of faculty interests and the research work currently in progress. I am confident that earning my MS (with thesis) at University of Pennsylvania will help me hone my research skills and prepare me to contribute as a

## MS in computer science

Few areas of my education have stimulated me to think as much as my undergraduate courses In Data Structures, Theory of Computation and Computer Programming have. When I watch videos of Prang Ministry demonstrating his Sixth Sense technology or when I used Google Wave for the first time or even when I log into Backbone everyday and come up against some new feature, what I feel is a sense of marvel. Here are innovations that keep evolving not only technically but also hold infinite scope for creativity and logic.

I feel a similar sense of exhilaration when I see my own code run successfully. It is this feeling, which till date, drives me to not give up on even the toughest of problems. And It Is this love for programming, combined with my desire to dig deeper Into the working of various applications and technologies, which propels me to apply for a MS in Computer Science. Pursuing my strong interest in Computer Science has over the years enabled me to develop keen analytical and reasoning skills.

Through the course of the four-year Bachelor of Technology (BBS) degree program in Computer Science and Engineering at the prestigious BBC University, I acquired an overall perspective of this scientific spelling, with a particular Interest in Object Oriented Programming. Data Structures, . NET Technology, Database Management, Theory of Computation and Principles of Compiler Design were some of the other areas that captured my attention. My keen interest in the subjects translated into receiving an A+ grade in the Data structures lab and averaging an A grade in the other labs.

I also involved myself In numerous projects, Including a prototype of a ‘Billing and Inventory Management System’ for a retail showroom, developed using Visual Basic and SQL Server 2005, and also the simulation of a simple SSL parser using C++ for a Principles of Compiler Design assignment. Proactive in my approach to learning, I have also completed the Cisco certified Fundamentals of Java Programming course. Apart from the projects undertaken in college, it was my desire to gain exposure to the software Industry and this prompted me to take up various trainings and Internships.

In the summer of 201 0 and 2011, I spent a week In Germany where I was trained in Basics of Robot Programming, and Offline Robot Programming (using Arboreal V. O), at Carl Cools Kittenishness. I also completed a project titled “Study on Non Stock Transaction Monitoring” at L&T Comates, Bangor in May-June 2011. For my final university dissertation, I worked with a team of three other classmates to develop a ‘Multiparty Voice Chat on Windows Platform’.

The project was undertaken in L&T Infinite, Bangor and involved building a low cost application to enable voice/text chat and file transfer, using . NET technology. The application was intended for in house communication between peer systems In the organization, thereby removing the need for a dedicated server. This assignment greatly strengthened my ancestral knowledge, and through its practical implementation, it also allowed me programming. In addition to enhancing my . NET skills, I also gained knowledge about multiple architectures in networking and how socket programming works.

Till then my coding had been largely restricted to basic C++, and while it was a challenge to learn and implement socket programming in the . NET framework within a short span of 4-5 months, it was one I readily accepted and am richer by it. Simultaneously, active participation in a wide range of extracurricular activities has ensured the all round development of my personality. I have taken part in cultural activities like group dance and literary activities like crossword and Kudos competitions.

I also play badminton as a hobby. Apart from this I handled the role of being the Student Representative of the Computer Science branch for four years, a responsibility that included acting as the bridge between the students and the administration, scheduling additional lectures for the class, assisting the faculty advisor in her duties and assisting the students in case of any problems. This experience brought to the fore my leadership abilities, while also assisting in honing y social skills.

Having acquired a solid foundation in the field of computer science through a rigorous undergraduate program, and my various internships in the IT industry, at this point, I feel that it is the right time to take up graduate studies. I wish to raise my understanding of the nuances of the Computer Science field and use this knowledge to further my chances for a lucrative career in Software. With a keen interest in working on the latest web technologies, I seek to take advantage of the plethora of opportunities in the field of social media which allows the combination of these cosmologies with one’s own creative instincts.

## Sop for Computer Science

As a student in the undergraduate study for a Bachelor of Science degree in Computer science, I intend to pursue a graduate program to refine my knowledge and skills in my areas of interest. I believe it will also serve to give direction to my eventual goal of a career as a research professional at a research-oriented organization. I intend to pursue an MS degree in “Computers Science” at your university as the first step towards obtaining a PHD. My innate strengths have been my quantitative and analytical abilities, which instilled in me a special interest for mathematics and basic sciences.

I have secured 62% in my X standard. My inclination towards mathematics and analytical skills has impelled me to choose mathematics, physics and chemistry as my major in my 10+2. For my under graduate studies, I have opted for “Computer science” as my branch In Don Boss Degree College (Affiliated to Somalia University), which Is considered as one of the best in education In the state. I feel that getting education In a country other than one’s own Is an education In itself.

Living in such an environment with people having similar goals and aspirations is an enthralling experience In one’s academic life and Is of considerable importance In one’s professional career. Knowledge has no end. This Is especially so of Science & Technology. Study of technology in more technologically advanced countries like U. S. A can only ensure that the Journey In the pursuit of knowledge will not end. It Is for this reason that I want to study In U. S. A where Industry and university Interaction Is paralleled and where focus Is more on “application of theory’ than on ‘theory.