Giter VIP home page Giter VIP logo

bootcamp_python's People

Contributors

atrudel avatar blefeuvr avatar ezalos avatar fxbabin avatar karocyt avatar lacretelle avatar llenotre avatar madvid avatar matboivin avatar maximechoulika avatar plumeroberts avatar ppeigne avatar qfeuilla avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bootcamp_python's Issues

Day02 - Updates post-testing

Global notes:

Reverse 00 and 01

ex00:

  • 1. Add real prototypes of the functions

ex01

  • 1. Add ERROR in doom_printer
  • 2. ObjectC has to be modified
  • 3. talk about setattr ?

ex02

  • 1. add cat machine log
  • 2. missing print("Blub blub blub...") at the end of function "add_water"

ex03

  • 1. read a csv instead of a json
  • 2. handle missing file
  • 3. turn in directory: ex00

ex04

  • 1. turn in directory: ex00
  • 2. tell to rename
  • 3. bash build.sh && pip install ./dist/42ai-1.0.0.tar.gz
  • 4. package name : ai42

Compress .pdfs

Noticed the pdfs are ~8mb which is a lot for a text file, and sometimes slow to open: I suggest to compress them with any free online tool.
For instance here
Cheers! 🐍

Remark on ex00 in Day01

in ex00 of day01,
If the idea is to reuse the dictionnary of ex06 in day00, in order to match the meal types between the 2 exercises, the 3 keys in recipes_list (dict) of ex00 day01 should be "starter", "lunch", "dessert" instead of "starter", "main_course", "dessert"

Day00 - ex00 : subject: pip

"You will also be able to install packages via pip using this script."
Vous voulez dire qu'on devrait par le même installer.sh pouvoir appeler pip ? Selon quelle syntaxe ? Tout argument qui n'est pas "install-python" appelle pip3 [mon_argument] ?

D00-ex04

Dans l'énoncé, on demande "a function that takes 2 numbers as parameters" mais on ne sait pas comment traiter les float (si par exemple on essaye python operations.py 10.5 3). Perso, je considère qu'on attend 2 int en paramètres :)

Day template

Piscine Python

Day01 - Theme

Description of day --

Notions of the day

Notion 1, Notion 2, ...

General rules

  • Rule 1 : explanations
  • Rule 2 : explanations
  • Rule 3 : explanations

Helper

How to install and link python in the $PATH

export ....
install ....

Exercice 1 - Name of the exercice

Exercice 2 - Name of the exercice

Exercice 3 - Name of the exercice

Exercice 4 - Name of the exercice

License covers software (and its docs) but not documents alone

IANAL

MIT license covers this software and associated documentation files but the repository only contains documents. Also one could argue sparse pieces of source code in these documents is not software.

You may consider using a Creative Commons license like CC-BY-SA.

And why not tell that included source code is in public domain so anyone can use it? In a tutorial, source code will be copied without following the license, so better to ease the task legally.

If you include pdf build scripts, these indeed will be software though.

Typo Day02 Ex01

function that returns and object

function that returns an object

Exercice Template

Exercice 1 - Name of the exercice

Turnin direcctory : ex00
Files to turn in : *.py
Forbidden function : None
Remarks : n/a

Description of the exercice

print("Code example")

New branch `tools`

This branch the tools of the pool:

  • A pdf builder: WIP
  • A tester script: TODO

Day00 - Updates post-testing

Global notes:

  • ex02 < ex01
  • ex04 is too late in the day
  • slice notation in ex01

ex00:

  • 1. need python version and path explaination.
  • 2. "You will also be able to install packages via pip using this script." explain

ex01

  • 1. Replace OLLEw with OLLEh in example.
  • 2. Explain the fact that separated arg are merged and we consider un space between them
  • 3. In the example use cat -e to prove the \n has to be written at the end.

ex02

ex03

  • 1. Return line if too long in example.

ex04

  • 1. Modulo and div by zero exceptions
  • 2. Weird name (Return the functional part.)
  • 3. Need more error examples
  • 4. We are waiting for int as parameters

ex05

  • 1. kata03 --> 42 char with or without newline ?

ex06

  • 1. More specifications on Error management
  • 2. prep_time should be in minutes

ex07

  • 1. Update rules because for is forbidden.

ex08

ex09

  • 1. 'exit' message is not given in the example.

ex10

  • 1. Explain a bit more the purpose of the program
  • 2. list used as a variable change it with listy

TO REVIEW:

day03-ex03

from_shape(shape, value) : une variable taille et une valeur.

La valeur par default dans le prototype.

==> from_shape(shape, value=0) : une variable taille et une valeur. ()

Day00 - Basics 1

Notions:

  • basic setup
  • variables (types)
  • fonctions (retourne tuple)
  • loop
  • main
  • import
  • data struct
  • list
  • dict
  • list comprehensions

PDFbuilder bug

In the outputs:

npc.from_iterable(range(5)) should be on a new line

Typo day01/ex00

"You have handle the error if the arg passed in add_recipe is not a recipe."
->
"You will have to handle the error if the arg passed in add_recipe is not a recipe."
On the last line of the ex00 desciption

Typo Day02 ex03

"...and also to keep the first line as header is headers is True."
Seems it should be:
"...and also to keep the first line as header is True."

Day00, Ex01:

$> python exec.py "Hello World!"
   !DLROw OLLEw
   $> python exec.py "Hello" "my Friend"
   DNEIRf YM OLLEw

devrait être

$> python exec.py "Hello World!"
   !DLROw OLLEh
   $> python exec.py "Hello" "my Friend"
   DNEIRf YM OLLEh

(h plutôt que w)

Day01 : <<<<<<< HEAD at the end of pdf

There is version control markers at the end of the day01 pdf

<<<<<<< HEAD
Check out the dir function.
=======
WARNING: YOU WILL HAVE TO MODIFY THE INSTANCES ATTRIBUTES IN ORDER TO
FIX THEM.
>>>>>>> dev

Day04 - Updates post-testing

Global notes:

  • ex04 is simpler than ex03

ex00:

ex01:

ex02:

  • 1. Is it necessary to handle errors?
  • 2. Drop duplicated values and update the result in the example (0.02307969707897584) to 0.01935634328358209.
    See: #5 (comment)

ex03:

ex04:

  • 1. The examples are a bit misleading: sp.where(2162) is not in the dataset and sp.when('Atlanta') olympic games took place in 1996, neither in 1903 nor 2042.
    It should be mentioned not to trust the examples.
    See: #5 (comment)

ex05:

  • 1. If duplicated medals are not handled for the team games, this exercise is too similar to ex03.
  • 2. The CSV data is not up-to-date.
  • 3. Precise in the instructions if duplicated medals per team games should be handled and add an example from the dataset.
    If duplicated medals are dropped: France 2008: {'G': 25, 'S': 24, 'B': 28} -> {'G': 7, 'S': 16, 'B': 20}
    See: #5 (comment)

ex06:

  • 1. Add concrete examples:
    Maybe add some plots (mathplotlin.pyplot.hist()) screenshots for more clarity. All images must be put in an assets directory at the root of the day folder.
  • 2. The word feature from ML and data science terminology can be a little bit confusing at the beginning.

ex07:

  • 1. Add concrete examples:
    Maybe add some plots (mathplotlin.pyplot.hist()) screenshots for more clarity. All images must be put in an assets directory at the root of the day folder.

Day03 - Updates post-testing

Global notes:

  • 1. PDF title says Day01 instead of Day03

ex00:

ex01:

  • 1. Filename for ex01 is "imageProcesor.py", it should be "ImageProcessor.py"

ex02:

  • 1. the "crop" function, "dimensions" is an ambiguous name. It should be instead called "new_image_size" and the exercise should ask for error handling if new_image_size.width > initial_img_size.width etc
  • 2. "mosaic": rename "dimensions" "grid_size"
  • 3. more example and error management
  • 4. "thin(array, n, axis) : delete every nth pixel along the specified axis (0 vertical, 1 horizontal)" ; shouldn't it be "delete all pixels except every n-th pixel along..."
  • 5. explain more in descriptions of the functions

ex03:

  • 1. to_{color} functions are mismatched: function name is never the same as the filter in the description
  • 2. autoriser arange ou linspace
  • 3. grayscale: no example given for a custom weigth vector: should I understand it should always be 0.299R + 0.587G + 0.114B ?

ex04:

Haven't been tested

Day03 - Numpy

Notions:

  • dimension flottante
  • matrices à 3-4 dimensions
  • vstack et hstack
  • manipuler une image
  • broadcasting
  • slicing
  • normalize

create a readme for the repo

create a readme for the repo

And remove the file PYTHON2019.md
We also want to give credits to the contributors and the beta-testers.

Day01 - Updates post-testing

Global notes:

ex00

  • 1. Error management not a recipe
  • 2. self.last_update when adding recipe
  • 3. add import recipe
  • 4. "Recipe" class : naming attributes or arguments like keywords is bad practice ('type'=>'recipe_type')
  • 5. doc python in french link
  • 6. get_recipe_by_types(self, [recipe_]type)
  • 7. def get_recipe_by_name(self, name): """Print a recipe with the name 'name' """ more precisions

ex01

  • 1. add a double inheritance ? #2 (comment) ==> create a new issue asking for an addon

ex02

  • 1. Bad practice 'len' instead of 'length' attribut
  • 2. constructor rule not clear "range"
  • 3. radd etc..
  • 4. mul == dot product

ex03

  • 1. forbidden lib random
  • 2. sep=" " should be mandatory remove the name of arg
  • 3. Error management for bad string

ex04

  • 1. new exercice
  • 2. words = ["Le", "Lorem", "Ipsum", "est", "simple"] coefs = [1.0, 2.0, 1.0, 4.0, 0.5] zip_evaluate(coefs, words)
    result == 34.0
  • 4. A class implementation

ex05

  • 1. Need a testing file
  • 2. 'origin' en anglais, pas 'origine'
  • 3. the student has to update the object attributes
  • 4. transaction invalide si amount < 0

day00 automated function to install Python

  • Day: 00
  • Exercise: 00

Hi,
In the Conda automated install topic, there is this line :

echo "export PATH=$MINICONDA_PATH:$PATH" >> ~/.zshrc

The thing is that if you have a PATH like:

/bar:/my/folder/with space/:/foo

the sourcing will fail because of invalid format of the variable (it expands environment variable).
Replacing double quotes with single should resolve this issue.

Hope it helps !

Edit:
My bad, it creates other issues.

But escaping the $ of $PATH should resolve the issue.

j01/ex03 Required parameter marked as "sep=None" + typo

Le sujet nous donne :

function prototype

def generator(text, sep=None, option=None):
'''Option is an optionnal arg, sep is mandatory'''

The sep argument is noted as sep=None which in my understanding contradict
the statement that "sep is mandatory".

Also, optionnal => optional

text_analyzer example with multiple arguments

  • Day: 00
  • Exercise: 03

Apparently some confusion on what text_analyzer should do when the number of arguments is greater than 1.

Examples
text_analyzer("this is the first sentence.", "this is a second sentence.").

Doute sur output exo5 / kata 3

"Write a program to display the string above right-aligned with '-' padding and a total length of
42 characters: "

L exemple d'output donne pour "python kata03.py | wc -c" donne 42 pour resultat
me semble incorrect, selon moi le resultat attendu devrait etre 43 (42 char + \n)

➜ ex05 python kata03.py | cat -e
--------------------------The right format$
➜ ex05 python kata03.py | wc -c
43

Je ne suis pas sur de moi sur celle la mais je vous invite a check

How to contribute ?

First assign your self to the related issue.

In order to create content for the piscine you will have to create a branch with the following template : day/XX/phaseY
(where XX is the number of the day and Y the related Phase)

The day folder will have the following architecture :

└── day00
    ├── day00.md
    ├── ex00
    │   └── ex00.md
    ├── ex01
    │   └── ex01.md
    └── ex02
        └── ex02.md

Day01 ex02 (Vector)

add
radd

add : scalars and vectors, can have errors with vectors.

sub
rsub

sub : scalars and vectors, can have errors with vectors.

truediv
rtruediv

div : only scalars.

mul
rmul

mul : scalars and vectors, can have errors with vectors,

return a scalar **is ( >> if )**we perform Vector * Vector (dot product)

str
repr

D00 - ex00

Dans l'exemple, la même ligne de commande donne 2 comportements différents:

$> ./installer.sh install-python
[v] python is installed.
$> ./installer.sh install-python
Python is already installed, do you want to reinstall it ?

Day01 ex02 (Vector length)

In the subject it s written : • length : size of the vector
But length seems to be "number of coords in vector"
Thank you

day 02 ex03

D'ou sort Loadjson ?
Sous class de CsvReader ?

from csvreader import CsvReader
if name == "main":
with Loadjson('good.csv') as file:
data = file.getdata()
header = file.getheader()

day00 ex01

python exec.py "Hello" "my Friend" | cat -e
DNEIRf YM OLLEw$

'w' instead of 'h'

Relecture rapide 08-01-2020

day03 ex02:permorm; did you mean perform ?

day03 ex03: "(.arange ?)" qui flotte dans le doute

day04 ex06: pourrait avoir des page-end afin de mieux organiser les diagrammes et leurs titres

day04 ex07: "BONUS: Your functions can also accept a list of numerical variables, and output comparison plots for each feature against different"...

D00EX10 shadow built-in function

Dans l'exo 10 du day 00, il est demandé de faire une fonction ft_progress(list). Mettre list comme nom de variable redéfinie le nom built-in list.

Day01 - Basics 2

Notions:

  • objects
  • cast
  • constructors
  • built-in functions
  • inheritance
  • iterator (range ...)
  • generator

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.