Download CIS4930 Final Exam Topics answer questions.

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CIS4930 Final Exam Topics
The Final Exam will be comprehensive and consist of multiple choice and short
answer questions.
I want you to have an overall understanding of the basics of Python and what
tools/libraries we’ve covered and basically how they’re used.
There will be code questions where you have to describe what is happening or
what the output is. You may have some code-writing questions but I will give you
any function signatures you need. You do not need to “memorize” how methods
of packages are called, you only need to know what they do.
•
Python Basics
-
•
•
Strong, dynamic typing
Built-in types – what are they? How are they used?
Know common sequence operations.
Modules
Basic list comprehensions
Functional programming functions: filter, map, reduce
Positional and keywords arguments
Raw_input vs input
Basic file manipulation
Basics of exceptions and be able to write a basic custom exception.
LEGB rule
What do decorators do?
Classes, Inheritance, and Multiple inheritance
Iterators and generators
Standard Library
- Know mentioned string functions (no templating or formatting necessary).
- NO regular expressions
- Know mentioned os, time, and sys functions
- Understand copy vs deepcopy
- Know mentioned itertools functions
Virtualenv
- What are the advantages of using virtual environments for a python application?
- What are the steps to activating, setting up, and deactivating a virtualenv?
- Why is it advantageous to distribute a requirements.txt with your application?
- Know basics of logging, unittesting
•
•
•
Web Development
- What is WSGI?
- What is Gunicorn and what is Flask? Briefly describe the roles they play in the
deployment of a web application. How can they be used with a non-WSGI component
like nginx?
Networking
- What is the basic process for creating a TCP server or client using the
socket module?
- Explain event-driven, asynchronous model in Twisted. How does the
reactor work?
GUI Programming
-
•
Serialization
-
•
•
PyQt and its main classes: QtCore and QtGui
Understand basic code in first GUI lecture slides.
What is a MainWindow widget and how is it structured?
May give you PyQt code and have you draw/describe interface.
Know basics of box and grid layout managers.
What is serialization and when might it be used? Give an example.
What are pickle and cpickle?
What can pickle serialize?
Advantages/Disadvantages of pickle over other methods.
Know basic usage of pickle’s core funcs: dump, dumps, load, loads.
What is JSON? Advantages over pickle?
Databases
- Database interface outlined in PEP249  what’s the advantage of this?
- What is the module interface required to have available?
- What methods of a connection object are required to be available?
- What methods of a cursor object are required to be available?
- Understand the actions in the db_interface.py example.
NumPy and SciPy
- Explain what NumPy and SciPy are and give some examples of the
functionality they implement.
- Know how to use SciPy’s integrate.quad() and integrate.trapz().
- Understand ndarray type in NumPy.
- Know how to use NumPy’s arange() and linspace().
- Know what Matplotlib is and the basic elements: figures, plots, axes, etc.
- Know the basics of Matplotlib’s pyplot: plot(), axis(), show()
- IPython