CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

Similar documents
Syllabi of the Comprehensive Examination in Computer Science

SIR C R REDDY COLLEGE OF ENGINEERING

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

ADMINISTRATIVE MANAGEMENT COLLEGE

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE.

LOGIC AND DISCRETE MATHEMATICS

INSTITUTE OF AERONAUTICAL ENGINEERING

St. MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

«Computer Science» Requirements for applicants by Innopolis University

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

CSE 20 DISCRETE MATH. Fall

M.Sc. (Computer Science) I Year Assignments for May Paper I DATA STRUCTURES Assignment I

M.Sc. (Previous) DEGREE EXAMINATION, MAY (Examination at the end of First Year) Computer Science. Paper - I : DATA STRUCTURES

CSE 20 DISCRETE MATH. Winter

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

OHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE

Ph.D. Written Examination Syllabus

CST-402(T): Language Processors

Programming Languages Third Edition

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

DISCRETE MATHEMATICS

Personalised Learning Checklist ( ) SOUND

5. (a) What is secondary storage? How does it differ from a primary storage? (b) Explain the functions of (i) cache memory (ii) Register

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

DEPARTMENT OF COMPUTER SCIENCE

Draw a diagram of an empty circular queue and describe it to the reader.

Big Java Late Objects

AP Computer Science 4325

Problem solving using standard programming techniques and Turbo C compiler.

Code No: R Set No. 1

University of Waterloo Undergraduate Catalog Report Faculty of Mathematics Page No. 1 Run Date 20-AUG-2007 Meeting Number(s) 25

STRUCTURE AND SYLLABUS APPROVED IN THE BOARD OF STUDIES MEETING ON 2001 TO BE EFFECTIVE FROM THE ACADEMIC YEAR

Computer Science (CS)

Part I Basic Concepts 1

Index. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309

Introduction to Programming Using Java (98-388)

INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME

1. [5 points each] True or False. If the question is currently open, write O or Open.

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

Compiler Theory. (Semantic Analysis and Run-Time Environments)

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

(DMCA101) M.C.A. DEGREE EXAMINATION, MAY First Year INFORMATION TECHNOLOGY


Department Curriculum and Assessment Outline

1. a) Discuss primitive recursive functions with an example? 15M Or b) Statements and applications of Euler s and Fermat s Theorems?

PROGRAMMING IN C++ (Regulation 2008) Answer ALL questions PART A (10 2 = 20 Marks) PART B (5 16 = 80 Marks) function? (8)

COURSE OUTCOMES OF M.Sc(IT)

CS 445: Data Structures Final Examination: Study Guide

CS1800 Discrete Structures Final Version B

PESIT-BSC Department of Science & Humanities

1 P a g e A r y a n C o l l e g e \ B S c _ I T \ C \

Faculty of King Abdullah II School for Information Technology Department of Computer Science Study Plan Master's In Computer Science (Thesis Track)

(DMCA 101) M.C.A.(Previous) DEGREE EXAMINATION, MAY 2006 PAPER - I - INFORMATION TECHNOLOGY

Syllabus for Computer Science General Part I

Bachelor in Computer Application (BCA)

(DMTCS 01) Answer Question No.1 is compulsory (15) Answer One question from each unit (4 15=60) 1) a) State whether the following is True/False:

Curriculum Map Grade(s): Subject: AP Computer Science

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Seth Jai Parkash Polytechnic, Damla

G COURSE PLAN ASSISTANT PROFESSOR Regulation: R13 FACULTY DETAILS: Department::

Question Bank. 10CS63:Compiler Design

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

CS 242. Fundamentals. Reading: See last slide

Programming. Loriano Storchi.

Systems I: Programming Abstractions

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN CYBERSECURITY

Theory of Computations Spring 2016 Practice Final Exam Solutions

University of Nevada, Las Vegas Computer Science 456/656 Fall 2016

Reflection in the Chomsky Hierarchy

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO):

We can create PDAs with multiple stacks. At each step we look at the current state, the current input symbol, and the top of each stack.

THE DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS

B.Sc. Computer Science (Ancillary)

Data Structures and Algorithms 1

[CHAPTER] 1 INTRODUCTION 1

Teddington School Sixth Form

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Contents. Chapter 1 SPECIFYING SYNTAX 1

Programme Outcome COURSE OUTCOMES MCA

19 Much that I bound, I could not free; Much that I freed returned to me. Lee Wilson Dodd

JAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit:

AP Computer Science AB

GARDEN CITY UNIVERSITY. Bachelor of Computer Applications SEMESTER- I. Course: CONCEPTS OF PROGRAMMING USING C LANGUAGE CODE: 05ABCAR17111 CREDITS: 04

Programming Languages (PL)

COMP 382: Reasoning about algorithms

Computer Science Curriculum Content, KS5

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

StackVsHeap SPL/2010 SPL/20

Memory Management. 3. What two registers can be used to provide a simple form of memory protection? Base register Limit Register

Learning objectives. Computer principles The characteristics of contemporary processors, input, output and storage devices

Theory of Computation

Announcement. Exercise #2 will be out today. Due date is next Monday

Short Notes of CS201

MNPE In Collaboration with. Karnataka State Open University. Manasagangotri, Mysore-6. Syllabus. Diploma in Computer Application

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

Department of Computer Science & Engineering School of Engineering & Technology HNB Garhwal University Srinagar Garhwal

Programming Languages 2nd edition Tucker and Noonan"

About the Authors... iii Introduction... xvii. Chapter 1: System Software... 1

END-TERM EXAMINATION

Transcription:

By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable holding a value, how a variable is declared and how it can change c. Understand the concept of a loop that is, a series of statements which is written once but executed repeatedly- and how to use it in a programming language d. Be able to use a conditional statement to select a choice from two or more alternatives e. Be able to break a large problem into smaller parts, writing each part as a module or function f. Be able to use an array to store multiple pieces of homogeneous data, and use a structure to store multiple pieces of heterogeneous data g. Be able to work with both character and numerical data h. Understand the concept of an algorithm (that is, a series of steps that can be carried out in a mechanical way) and a few specific examples of algorithms (for example, finding an average, sorting, searching) i. Understand the parts of a computer system and how they interact j. Understand the concept of a program in a high-level language being translated by a compiler into machine language program and then executed CIS 4.1 Course Objectives By the end of this course, students should be able to a. understand the difference between registers and memory, the association of registers with segments, and the implementation of segmentation for X86 based computers

b. understand the relationship of assembly language and the architecture of the machine; this includes the addressing system, how instructions and variables are stored in memory, and the fetch-and-execute cycle c. use basic assembly language instructions d. understand the role of interrupts in performing I/O e. declare and use variables, and write a structured assembly language program f. write and use functions, and understand how function calls are carried out, including passing parameters g. understand the relationship between high level constructs such as loops, if-else, functions, arrays, and structures, macros, and their underlying representation; be able to write those constructs in assembler h. know how to call an assembly language routine from a high level language and vice versa i. do conversions and basic arithmetic operations in the binary, decimal and hexadecimal bases, and convert numbers to two's complement notation; use hex to calculate offsets and addresses CIS 11 Course Objectives By course-end the student will be able to understand and use: a. Logical propositions (including quantifiers). b. Simple proofs of mathematical statements (mathematical induction, indirect arguments). c. Functional and relational properties (one-to-one, onto, reflexive, symmetric, transitive, equivalence, partial ordering), and operations (composition, transitive closure). d. Basic matrix operations. e. Fundamental concepts of set theory and Boolean Algebra.

f. Counting principles, countable and uncountable sets. g. Basic probability theory and applications. h. Recursive definitions and solutions of simple of recurrence relations. i. Graph algorithms and their application to computer science. j. Tree traversal algorithms. CIS 15 Course Objectives Upon completing the course, the student will be able to: a. interpret program specifications and test their implementation, b. write programs using a core portion of the C run-time library including: input/output, string conversion and manipulation, dynamic memory allocation, environment access; c. program effectively with pointers, arrays, structures, and dynamically allocated memory and describe their internal representations; d. discuss the consequences and relative merits of compile-time and run-time memory allocation; e. employ a modular approach to program development by effective use of C's support of separate compilation including header files and external and static declarations; f. discuss the machinery of compilation and execution, including compilation phases, object modules, link editing, and program execution; g. implement recursive solutions to problems and demonstrate how recursion is implemented by drawing diagrams of and tracing changes in the runtime stack; h. implement generic functions using function pointers and utilize generic functions in modular program development; i. to describe the internal representation of C's primitive data types and strings using byte diagrams; and

j. use the programming environment offered by a Unix-like system including writing scripts that employ its utilities and writing programs that utilize its programming interface. CIS 22 Course Objectives By the end of the course, students should be able to: a. Demonstrate understanding of the abstract properties of various data structures such as stacks, queues, lists, and trees. b. Use various data structures effectively in application programs. c. Implement various data structures in more than one manner. d. Compare different implementations of data structures and to recognize the advantages and disadvantages of the different implementations. e. Demonstrate understanding of and be able to program various sorting algorithms, including bubble sort, insertion sort, selection sort, heapsort and quicksort. f. Compare the efficiency of various sorting algorithms in terms of both time and space. g. Program multiple file programs in a manner that allows for reusability of code. h. Trace and code recursive functions. i. Know features of C++ and be able to program with C++ classes. j. Demonstrate some understanding of object-oriented programming.

CIS 23 Course Objectives By the end of the course, students should: a. Demonstrate an understanding of the growth of functions and the hierarchy of complexity classes. b. Demonstrate an understanding of the use of O, Ω, and Θ notation. c. Demonstrate an understanding of the concepts of worst-case and average-case performance, upper and lower bounds. d. Be able to analyze the complexity and efficiency of an algorithm in terms of time and space. e. Demonstrate knowledge of algorithms for order statistics. f. Demonstrate knowledge of several algorithms for sorting and be able to compare their complexities. g. Demonstrate an understanding of various design techniques such as divide-andconquer and greedy methods. h. Demonstrate knowledge of different methods for representing a graph. i. Be able to trace, implement, and analyze graph algorithms such as traversals, finding a minimum spanning tree and finding the shortest path. j. Be able to demonstrate an understanding of the nature of the classes P, NP, and NP-complete, be able to define several problems that belong to these classes and be able to prove their classification. CIS 24 Course Objectives Upon completing the course, the student will: a. be able to describe the salient characteristics of several language paradigms (procedural, object-oriented, imperative, declarative/logic, functional).

b. understand the concept of data binding and its effect upon the semantic level of the language. c. be familiar with standard mechanisms of realizing language semantics at execution time. d. understand the spectrum of source-to-executable language translation, its effect upon efficiency and expressivity the corresponding relation to data binding. e. be able to use formal techniques (such as BNF) in the specification language syntax. f. be able to recognize the relationship between the semantic level of the language and its expressivity, efficiency, control mechanisms, and data types. g. be able to apply the conceptual material covered in this course (i.e., binding times, run-time support etc.) to the analysis of specific languages. h. be able identify the core semantics of data types and control constructs and to recognize the similarity and differences between data and control representations of various languages. i. be able to code small programs that illustrate the core semantics of each of set of languages that represent the paradigms covered in the course. j. be able to discuss the technological, software-engineering, and educational issues that propelled the evolution of programming languages. CIS 25 Course Objectives By the end of this course, students should be able to: a. demonstrate the ability to write a large program (with subprocesses) that implements techniques taught in the course. b. demonstrate understanding of the file system, secondary storage management and disk scheduling algorithms. c. demonstrate understanding of the principles of multiprogramming.

d. demonstrate understanding of the methods of inter-process communication and synchronization. e. demonstrate understanding of the issues of deadlock and its solutions. f. demonstrate understanding of memory management and virtual memory. g. demonstrate understanding of processes and threads. h. demonstrate understanding of CPU scheduling and long-term scheduling. i. demonstrate understanding of the various forms of I/O device interaction with the operating system (e.g., interrupts). j. demonstrate understanding of the basics of computer security. CIS 26 Course Objectives By the end of this course, students should be able to: a. Understand and apply the concepts of class, object, instantiation, and methods. b. Understand and apply the concepts of data abstraction, inheritance (single and multiple), and polymorphism. c. Write applications in an object-oriented language. d. Understand an use run-time exceptions. e. Understand and apply the basic concepts of file I/O. f. Understanding and apply the concepts of multi-threading. g. Understanding and apply the concepts of event-driven programming. h. Evaluate the appropriateness of a specified class hierarchy for a given task. CIS 38 Course Objectives By course-end, students will be able to: a. Understand the difference between deterministic and non-deterministic finite state automata

b. Design deterministic and non-deterministic finite state automata for language recognition (and minimize them) c. Devise regular expressions for languages d. Design push-down automata for language recognition e. Use the pumping lemma to classify languages as not regular f. Design simple context-free grammars g. Design simple Turing machines h. Understand the limits of computation via the halting problem and the Church-Turing thesis i. Understand the basic concepts of the theory of computational complexity j. Understand reducibility among problems and complexity classes. By the end of this course, students should: CIS 60.1 Course Objectives a. Have developed skills in computer programming. b. Have developed skills in developing algorithms and transforming algorithms c. into a plan for solution. d. Gain breadth in several areas in computer science. e. Be able to identify the goals, methods, tools and outcomes of a project. f. Be able to communicate effectively. g. Be able to record and document the results of the project. h. Have an understanding of the project life cycle, including how milestones are noted, monitored and revised. CIS 88.1 Course Objectives By the end of this course, students should: a. Be able to apply problem-solving and programming skills. b. Be able to communicate effectively.

c. Have acquired a fundamental understanding of how the relevant branches of computer science are used in a research project. d. Be able to identify the goals, methods, tools and outcomes of a research project. e. Be able to express in writing the motivation of a research project, including an overview of the background and the ongoing work with references. f. Become an efficient user of the methods and tools used in a research project. g. Be able to record, document, and present new findings of a research project as soon as they are obtained through observation, computation or experimentation. h. Have gained an appreciation for ambiguity, complexity and randomness in solving problems. i. Have created new knowledge based on the synthesis or analysis of the new findings of a research project.