... | @@ -6,10 +6,6 @@ Email: tkennedy@cs.odu.edu |
... | @@ -6,10 +6,6 @@ Email: tkennedy@cs.odu.edu |
|
|
|
|
|
# Introduction
|
|
# Introduction
|
|
|
|
|
|
**This page is a draft**
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
> I am going to go for a Raymond Hettinger style presentation,
|
|
> I am going to go for a Raymond Hettinger style presentation,
|
|
> <https://www.cs.odu.edu/~tkennedy/cs330/f20/Public/languageResources/#python-programming-videos>.
|
|
> <https://www.cs.odu.edu/~tkennedy/cs330/f20/Public/languageResources/#python-programming-videos>.
|
|
>
|
|
>
|
... | @@ -36,8 +32,7 @@ interest is Rust (at the time of writing). |
... | @@ -36,8 +32,7 @@ interest is Rust (at the time of writing). |
|
|
|
|
|
## Referenced Courses & Materials
|
|
## Referenced Courses & Materials
|
|
|
|
|
|
I will reference materials (e.g., lecture notes) and topics from from CS 330,
|
|
I will reference materials (e.g., lecture notes) and topics from various courses, including:
|
|
CS 350, CS 411W, and CS 417.
|
|
|
|
|
|
|
|
- **CS 330 - Object Oriented Programming & Design**
|
|
- **CS 330 - Object Oriented Programming & Design**
|
|
- [S.O.L.I.D](https://www.cs.odu.edu/~tkennedy/cs330/f20/Public/reviewSOLID/)
|
|
- [S.O.L.I.D](https://www.cs.odu.edu/~tkennedy/cs330/f20/Public/reviewSOLID/)
|
... | @@ -55,13 +50,7 @@ I will also reference a couple examples from the previous: |
... | @@ -55,13 +50,7 @@ I will also reference a couple examples from the previous: |
|
|
|
|
|
## The Broad Strokes
|
|
## The Broad Strokes
|
|
|
|
|
|
This workshop is intended as discussion on how to write Rust code that makes
|
|
I will focus on:
|
|
use of:
|
|
|
|
|
|
|
|
**Tentative Topics**
|
|
|
|
|
|
|
|
I will focus on:
|
|
|
|
|
|
|
|
|
|
|
|
1. Documenting code
|
|
1. Documenting code
|
|
2. Advanced tutorials for modern development : Classes, Polymorphism,
|
|
2. Advanced tutorials for modern development : Classes, Polymorphism,
|
... | @@ -75,7 +64,7 @@ Classes and OOP will take a while (the topic is quite vast). I will also |
... | @@ -75,7 +64,7 @@ Classes and OOP will take a while (the topic is quite vast). I will also |
|
discuss testing python code (with unit testing and integration testing) and
|
|
discuss testing python code (with unit testing and integration testing) and
|
|
code coverage, along with tox for basic configuration management.
|
|
code coverage, along with tox for basic configuration management.
|
|
|
|
|
|
I will try to fit in a few of the remaining topics:
|
|
I was not able to incorporate the following topics (due to time):
|
|
|
|
|
|
- Correct usage of the .loc and .iloc functionality
|
|
- Correct usage of the .loc and .iloc functionality
|
|
- How to use NumPy
|
|
- How to use NumPy
|
... | @@ -84,11 +73,9 @@ I will try to fit in a few of the remaining topics: |
... | @@ -84,11 +73,9 @@ I will try to fit in a few of the remaining topics: |
|
- Pandas Dataframe usage
|
|
- Pandas Dataframe usage
|
|
- How do we use RDD and DataFrame.
|
|
- How do we use RDD and DataFrame.
|
|
- Implementing cryptographic algorithms
|
|
- Implementing cryptographic algorithms
|
|
- Debugging options in python ( A language that promotes rapid development is
|
|
- Debugging options in python (A language that promotes rapid development is
|
|
usually hard to debug. How can we do it in python? ) *Note: [pdb](https://docs.python.org/3/library/pdb.html)*
|
|
usually hard to debug. How can we do it in python? ) *Note:
|
|
|
|
[pdb](https://docs.python.org/3/library/pdb.html)*
|
|
|
|
|
|
I should be able to fit in some discussion of NumPy.
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
... | @@ -99,9 +86,9 @@ I should be able to fit in some discussion of NumPy. |
... | @@ -99,9 +86,9 @@ I should be able to fit in some discussion of NumPy. |
|
> and CS 417/517 (Computation Methods) notes,
|
|
> and CS 417/517 (Computation Methods) notes,
|
|
> <https://www.cs.odu.edu/~tkennedy/cs330/f20/Public/codeDocumentation/index.html>.
|
|
> <https://www.cs.odu.edu/~tkennedy/cs330/f20/Public/codeDocumentation/index.html>.
|
|
|
|
|
|
Most of your code has probably had quite a fewiin-line comments.
|
|
Most of your code has probably had quite a few in-line comments. Inline
|
|
Inline comments are not the focus of this discussion. The focus of thisS
|
|
comments are not the focus of this discussion. The focus of this discussion is
|
|
discussion is documentation of classes, functions, and methods.
|
|
documentation of classes, functions, and methods.
|
|
|
|
|
|
|
|
|
|
## A Few Starting Examples
|
|
## A Few Starting Examples
|
... | @@ -331,6 +318,11 @@ def one_flip(p: float) -> bool: |
... | @@ -331,6 +318,11 @@ def one_flip(p: float) -> bool: |
|
"""
|
|
"""
|
|
```
|
|
```
|
|
|
|
|
|
|
|
As general rules, forgo:
|
|
|
|
|
|
|
|
- listing the types in the pydoc documentation and use type hints instead
|
|
|
|
- include type hints if there is any possibility of ambiguity
|
|
|
|
|
|
|
|
|
|
# Object Oriented
|
|
# Object Oriented
|
|
|
|
|
... | | ... | |