
Paroxython은 알고리즘별로 태그 및 필터링하는 명령 줄 도구 세트로 Python 프로그래밍 연습 컬렉션이 있습니다.
귀하는 교육 기관의 입문 프로그램 과정을 담당하는 교사입니다. 수년에 걸쳐, 당신은 학생들에게 관심을 가질 수있는 많은 것들과 너무 많은 프로그램과 코드 스 니펫을 축적했습니다.
또는 노련한 개발자로서 사랑하는 사람이 코딩하는 방법을 배우도록 돕고 지식을 공유하고 싶습니다. 교육학 자료에 대한 욕설 검색은 다양한 수준의 파이썬 프로그램으로 채워진 압도적 인 양의 웹 사이트와 저장소를 산출합니다 (예 : 1, 2, 3, 4, 5, 6, 교육의 멋진 파이썬에서 더 많은 것들).
어쨌든, 수집 한 파이썬 소스 코드는 일반적으로 수많은 (수백 또는 수천), 합리적 크기 (100 줄 미만의 코드 미만) 및 자연 (예 : Snippet, 예제, 퀴즈, 운동 솔루션, 클래식 알고리즘)입니다. 가르치려고 계획하는 프로그래밍 개념은 비교적 낮은 수준 으로 유지됩니다 (예 : 과제, 중첩 루프, 축적 패턴, 꼬리 재귀 함수 등).
친숙하게 들린다면 계속 읽으십시오.
Paroxython은 컬렉션에서 귀하의 요구에 가장 적합한 프로그램 중 하나를 선택하는 데 도움이됩니다. 예를 들어 다음 질문에 기꺼이 답변합니다.
- 이 개념은 어떻게 설명 할 수 있습니까?
- 이 알고리즘과 동일한 알고리즘 및 데이터 구조를 사용하는 문제는 무엇입니까?
- 학생들이 마지막 수업의 내용을 연습 할 수 있도록 학생들에게 어떤 숙제를해야합니까?
또한 Paroxython은 수업이 알고있는 것을 알고 있으므로 적절한 시간에 올바른 프로그램을 추천 할 수 있습니다.
- 좋은 검토 연습은 무엇입니까?
- 이 시험에서 어떤 연습을 할 수 있습니까?
- 이 예제의 현재 학습 비용은 얼마입니까?
장기적으로, 파록시 톤은 당신을 안내하고 어떻게 든 당신의 코스 개요를 다시 생각하게 만들 수 있습니다.
- 과제 개념의 전제 조건은 무엇입니까?
- 조건부와 루프에 대해 이야기하기 전에 서브 루틴을 소개하기에 충분한 자료가 있습니까?
- 고리 중에서 가장 먼저 나와야합니다 : 가장 강력한 (
while) 또는 가장 유용한 (for)?- 이 일반적인 반복 패턴을 논리적으로 구조화하는 방법은 무엇입니까?
- 정확히 기본 사항은 무엇입니까?
저자 가이 프로젝트에서 일하기 시작한 이래로 저자가 마음을 바꾸는 모든 문제!
이상적인 세상에서 Paroxython은 합리적이고 데이터 중심의 주장으로 가장 치명적인 종교 전쟁을 종식시킬 수도 있습니다.
- 아버지, 일찍 나가는 것은 죄입니까?
- 실제 바이트가 마스크를 사용해야합니까?

Paroxython은 주어진 프로그램 폴더에서 시작합니다. 내용은 구문 분석되며 제공된 사양을 충족하는 모든 기능은 스팬과 레이블이 지정되어 있으며 (예 : "assignment_lhs_identifier:a": 4, 6, 18 또는 "loop_with_late_exit:while": 3-7, 20-29 ).
이 레이블은 산란 된 지식 만 구성합니다. 다음 단계는 기본 계층 적 제약 조건을 염두에두고 설계된 분류 에 매핑하는 것입니다 (예 : 조기 출구 개념의 도입은 루프의 개념을 따라야한다는 사실은 제어 흐름이 필요합니다. 분류 "flow/loop/exit/early" ).

알고리즘에서 생성 된 분류의 추출 -Python.
사용자 설명서에서 전체 동적 버전으로 이동하려면 클릭하십시오.
그런 다음 모든 것이 태그 데이터베이스 에 유지되며 나중에 명령 파이프 라인을 통해 필터링 할 수 있습니다.
결과는 학습 비용을 증가시켜 주문한 프로그램 권장 사항 목록입니다.
programs 디렉토리에 이러한 간단한 프로그램이 포함되어 있다고 가정하십시오.
먼저이 태그 데이터베이스를 작성하십시오.
> paroxython collect programs
Labelling 21 programs.
Mapping taxonomy on 21 programs.
Writing programs_db.json.그런 다음이 파이프 라인을 통해 필터링하십시오.
> paroxython recommend programs
Processing 5 commands on 21 programs.
19 programs remaining after operation 1 (impart).
18 programs remaining after operation 2 (exclude).
12 programs remaining after operation 3 (exclude).
10 programs remaining after operation 4 (include).
10 programs remaining after operation 5 (hide).
Dumped: programs_recommendations.md.ET Voilà, 귀하의 추천 보고서!
아무도 놀랍지 않습니다.
python -m pip install paroxython
다음 명령은 도움말 메시지를 인쇄하고 종료해야합니다.
paroxython --help
Jupyter Notebook/Lab을 사용하는 경우 소위 Magic 명령을 설치했습니다. 다음과 같이로드하십시오.
% load_ext paroxython 이것은 "paroxython 0.7.0 loaded." . 파이썬 코드의 셀에서 실행하십시오.
% % paroxython # Lines
def fibonacci ( n ): # 2
result = [] # 3
( a , b ) = ( 0 , 1 ) # 4
while a < n : # 5
result . append ( a ) # 6
( a , b ) = ( b , a + b ) # 7
return result # 8| 분류군 | 윤곽 |
|---|---|
call/subroutine/method/sequence/list/append | 6 |
condition/inequality | 5 |
def/subroutine/function/impure | 2-8 |
def/subroutine/parameter/arg | 2 |
flow/loop/exit/late | 5-7 |
flow/loop/while | 5-7 |
meta/count/program/sloc/8 | 2-8 |
meta/count/subroutine/sloc/7 | 2-8 |
meta/count/variety/3 | 2-8 |
meta/program | 2-8 |
operator/arithmetic/addition | 7 |
style/procedural | 2-8 |
type/number/integer/literal | 4 |
type/number/integer/literal/zero | 4 |
type/sequence/list | 6 |
type/sequence/list/literal/empty | 3 |
type/sequence/tuple/literal | 4, 4, 7, 7 |
var/assignment/explicit/parallel | 4 |
var/assignment/explicit/parallel/slide | 7 |
var/assignment/explicit/single | 3 |
var/assignment/implicit/parameter | 2 |
var/scope/local | 2-8, 2-8, 2-8, 2-8 |
보시다시피,이 프로그램에서 Paroxython은 다른 것들 중에서도 식별합니다.
style/procedural );def/subroutine/function/impure );flow/loop/while Late)가있는 while 루프 ( flow/loop/exit/late );call/subroutine/method/sequence/list/append type/sequence/list/literal/empty 약간의 부var/assignment/explicit/parallel ). 우리는 명시 적 (with = )과 암시 적 (매개 변수 및 반복 변수) 할당을 구별합니다.var/assignment/explicit/parallel/slide ). 교단이 우리에게 고유 한 경우, 패턴 자체는 여러 프로그램에서 발생합니다. C가 1보다 큰 C- 피니 나이트 시퀀스의 구현, 가장 큰 공통 디바이저, QuickSort 등.var/scope/local );meta/count/variety/3 )의 추정. Magic Command %%paroxython (서브 커드 맨 tag 에 해당)은 시스템 표면 만 긁습니다. 이전에 볼 수 있듯이 기능의 학습 비용을 추정하고 실행 가능한 권장 사항을 얻으려면 먼저 collect 태그 데이터베이스를 구성한 다음 귀하의 파이프 라인에서 recommend 호출해야합니다.
이것은 여전히 진행중인 작업이지만 파록시 톤은 이미 잘 문서화되어야합니다.
마지막으로, 다양한 예제와 포괄적 인 테스트 범위가 나머지 질문에 답변하는 데 도움이됩니다.