While struggling to meet the considerable requirements for the Flatiron Phase 3 project, the comment below was posted with the hope of promoting some improvements.

The comment also got me thinking about a process that could be useful in an enterprise development environment which I posted here.

Phase 3 observations

Like any worthwhile application, an IT teaching curriculum is an ongoing, iterative process of improvement. I would like to offer some observations about phase 3 that will hopefully help improve the curriculum for future Flatiron cohorts, and encourage my fellow students who may have similar views. Please know these observations are sent with the best intentions.

Syillabus Phase comparison
Phase 1:  (JS and Github)
March 19 – May 14  – 8 weeks
108 page lessons (34 – 3rd party videos)
64 Assignments
24 quiz

Phase 2:  (React, React Router, JSON Server)
May 21 – July 2 – 6 weeks
73 Page lessons  (21 – 3rd party videos)
26 Assignments
10 Quizes

Phase 3:  (Python, SQL, SQLAlchemy, Alembic)
May 21 – Aug 27 – 8 weeks (7 w/ Prime week)
85 separate page lessons   (0 – 3rd party videos)
54 separate assignments (labs)
11 quizes

Major issues with phase 3 compared to phases 1 and 2
–  Significantly more lessons and more challenging assignments 
    covering a much wider span of topics
   Although many lessons were marked as “optional”,
   as one lecturer brought out:
        ‘they are still important, and really should be done’
– There were no 3rd party videos, which were very helpful in phase 1 & 2.
   Instruction primarily came from lectures and reverse engineering the test files
— Flatiron lectures generally are less concise than the 3rd party videos.
    In an attempt to encourage students to participate,
    the lessons generally take much longer
    and arguably cover the material in a much less effective way.
— IMHO, Reverse engineering of test files is an extremely poor method of teaching
    Test files were never meant to be instruction tools,
    and writing good tests is very difficult.
– Python is arguably a much broader and deeper subject than React,
   yet only about 2(?) weeks were scheduled for Python, one of them was Prime week.
– The next 2 weeks jumped to SQL, and SQLight,
   significantly different, and very broad subjects
– Next 2 weeks jumped to SQLAlchemy and Alembic – also different, broad subjects
– 2 weeks for proposal and completion of phase 3 project


With this time frame, the resulting project would likely be an unimpressive Python CLI   located on a Github repo that will rarely, if ever be used or viewed.
It is hard to get excited about such a project
Getting excited about a project is critical for me.
It helps me get through the many hours of wrestling with the code.

With a seemingly unrealistic phase 3 schedule, 
I found myself increasingly falling behind.
It was very discouraging.


After wrestling for many hours with the “reverse engineer test lessons” for Python,
I realized I would never reach my goal of learning Python with this curriculum,
Learning Python is the primary reason I took this course. 

Different people have different ways of learning that work best for them.
The methods used in Phase 3 do not seem to work well for me.
I found it necessary to revert to programs outside of Flatiron that teach Python,
and I’m glad to say, I found a few, and my understanding of Python is increasing.
I’m still working on finding additional SQLight, SQLAlchemy and Alembic lessons,
and hope to have a project that will meet the course requirements on time.

As the instructors have accurately stated, when this course is over,
the only thing that is going to matter is our being able to explain 
our understanding of these technologies to potential employers.
I’m finding this method seems to be working for me.

I hope these observations are helpful for other students who may feel similarly, and for the Flatiron team’s ongoing efforts to make an excellent curriculum.

I would recommend identifying and eliminating areas in the curriculum that are not critical to allow more time for the things that are. 
Two areas that come to mind are:
The Flatiron Three Pillars of JavaScript,
Generator and Lamda functions.
If these (and other items) are rarely used in our job search efforts,
they may not be worth the time spent trying to explain them.   

Very much looking forward to Phase 4, where I hope to build a Flask app 
that will be easily accessible online, and will impress potential employers, 
one I can get excited about.

Thanks for listening.