Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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