Review cs 604 final, Thursday December 12, 8am-10am



Download 16.08 Kb.
Date28.01.2017
Size16.08 Kb.
#9441

Review CS 604

FINAL, Thursday December 12, 8am-10am



Style:


Short answer (scripts, unix commands, short essay) (DEFINITELY!!!)

Fill in the blank/Matching: matching terms to their definitions (DEFINITELY!!!)

PROGRAMMING!!!! (You will definitely write short programs in both C and Ada!!)

Multiple Choice: (maybe…)



Topics:


UNIX commands

Operating systems concepts/history

Programming Languages/Compilers/Interpreters

Imperative Programming Languages

Object Oriented Programming Languages

C

Ada



Terms to know:

Operating System, System programs, Control program, Kernel, Resident monitor, control cards, Shell, home directory, current working directory, Pipe, Redirection, Absolute reference, Relative reference, job control, symbolic link, hard link, machine language, assembly language, compiler, interpreter, grammar, scanner, parser



Concepts to understand:

Operating systems:


  1. Role of an Operating system from both the “systems” viewpoint and the “user’s”

  2. History of the development of Operating systems

  3. Automatic job sequencing

  4. Spooling

  5. Multiprogramming: what it is, and its benefits

  6. Multi-tasking: what it is, and how its different from multiprogramming.

UNIX:


  1. History of UNIX

  2. Advantages and disadvantages of UNIX

  3. Unix file system, structure, file naming conventions, 4 types of files, & wildcards

  4. Job control, pausing a UNIX job, running jobs in the foreground/background

  5. Absolute vs Relative references

  6. REDIRECTION & PIPES: know how they work and the difference between >, >>, and |

  7. File permissions, changing file access permissions: using both numeric permissions, and symbolic permissions

  8. UNDERSTAND umask!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  9. Symbolic vs Hard links

  10. Scripts: declaring numeric and string variables/arrays, accessing values stored in these variables

  11. Pipelines

  12. Know the difference between set and setenv!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  13. In cshell scripts, what is the difference between the different kinds of quotation marks: ‘, “, & `.

  14. How do you execute a script or cause it to execute under a specific shell.

  15. Difference between directories and ordinary files

  16. Understand the use of the wildcard symbols and the filename strings they generate (*, ?, and [ ] )

  17. Be prepared to write a shell script


Unix Commands:


man, who, finger, ps, pwd, cd, ls, mkdir, cp, mv, rm, rmdir, cat, head, tail, cut, grep, comm, diff, sort, uname, chmod, umask, ln, set, setenv, echo, alias, foreach, if, while, fg, bg, jobs, history, kill, , more


Programming Languages (Concepts): Sethi: chapters 1, 2, 3.1 – 3.4, 4.1-4.4, 4.7, 4.9, 5 (all) , 6 (all), 7.1-7.4


  1. What does it mean for a programming language to be higher level and general purpose.

  2. Know what the scanner and parser does in a compiler.

  3. What is the difference between a bottom-up and a top-down parser. (pg 40)

  4. Know the difference between a compiler and an interpreter.

  5. Know what influenced the move to higher level languages

  6. Know why some languages are more successful than others

  7. Know the difference between the different families of programming languages: functional, logical, object oriented, and imperative

  8. What is an imperative programming language/ What is an object oriented programming language

  9. Understand the differences between the formal syntax vs the abstract syntax of a language

  10. Understand the two layers of the formal syntax of a language: lexical layer * grammatical/grammar layer

  11. Abstract syntax trees, and PARSE trees

  12. Know how to read and develop a grammar in BNF notation

  13. When is a grammar ambiguous.

  14. short circuit evaluation of logical expressions.

  15. Records, enumeration types, and ARRAYS

  16. UNDERSTAND THE DIFFERENCE BETWEEN DYNAMICALLY ALLOCATED OBJECTS vs STATICALLY DECLARED OBJECTS. Where is storage space allocated for these!!!!! Understand dereferencing (operatiors for C and Ada), allocation, declaration, deallocation,

  17. VARIABLE BINDINGS (4.9)

  18. What is the difference between a function procedures and a proper procedure

  19. Parameter passing modes: call by reference, call by value, call by value-result

  20. Abstraction: procedural, object, data, and module


TERMS: (C, Ada, & programming languages)


Grammar, Compilation/compiler, interpretation/interpreter, tokens, terminals, non-terminal, Context free grammar, productions, derivations: leftmost & right most derivations, bindings: Rvalue & Lvalue, structured programming, flow of control, sequential composition, iteration, selection, and abstraction (procedural), definite iteration, indefinite iteration, break, continue (statements), composite/constructed types, basic types, type expression, record, enumeration, discrete types, POINTER, dereferencing, memory leak!!!, dangling pointer, procedure call, activation, recursion, activation records, Information hiding, encapsulation, object, instance, class, abstract data type, methods, messages, operations, member functions, constructors, destructors, public vs private portions/operations in classes, class hierarchy, inheritance, subclass, base class


C Programming:

Chapters 1, 2, 3, 4, 5, 6, 8.1, 8.2, 9.1, 9.2, 9.3, 9.4, 9.5, 10.1-10.7, 11.1 – 11.4


You will need to be familiar with:


  1. Basic I/O, printf, scanf, Fprintf, Fgetc, Fopen, Fclose, getc

  2. Assignment statements, expressions, and operator precedence

  3. Scope of variables/local variables/ global variables

  4. Arrays

  5. Strings

  6. POINTERS: dereferencing operator *, and address operator &

  7. Dynamic vs static memory allocation

  8. Basic string manipulation: strcpy, strcmp, strncmp…

  9. Increment and decrement operators ++ and --, and the difference between using these as prefix vs postfix operators

  10. Basic and composite data types: int, char, float, enum, struct, array ….

  11. Conditional statements, if, if else, switch

  12. Conditional expressions; relational, equality and logical operators

  13. Loops: while, for, do, break and continue

  14. FUNCTIONS: calling, prototypes, parameter lists

  15. Dynamic memory allocation: malloc, free


Ada Programming:


You need to review my handouts online:


  1. Basic I/O: for text, integers, and floating point numbers.

  2. Assignment statements, expressions, and operator precedence

  3. Scope of variables/local variables/ global variables

  4. PACKAGES!!!! Package specification and package body

  5. Functions and procedures

  6. Parameter modes: in , out, and in out

  7. Basic and composite data types: integer, character, string, float, enumeration, record, array

  8. Constrained vs unconstrained arrays

  9. Conditional statements: if, elseif, case

  10. Loops: while, for, loop

  11. Conditional expressions: relational, equality, and logical operators

  12. Access types: definition, use, allocating memory and freeing memory

  13. PRIVITE AND LIMITED PRIVATE TYPES. Their use and differences.

  14. SCOPE RULES: for global/local variables, and nested procedures!!!!!

  15. GENERICS!!!!!!!!!! Understand Generic Units, Generic subprograms, generic packages, generic formal parameters WHY ARE GENERICS USEFUL!!!

  16. Understand the concepts of derived types. (Handout on Object oriented programming languages.)


Download 16.08 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page