The first part is about : 
—> this part will cover topics such as source control , exception handling 
—> better structuring your code ,
—> object-oriented programming (oop) 
—> monitoring the progress of your code 
Scaling : 
—> scaling your code effectively 
—> how to deal with larger datasets 
—> both computational and memory components of scaling 
Scheduling , testing and deployment into production 
—>how to  rigorously test your code 
—> protecting your credentials 

Monitoring your data processing and modeling code 
—> will teach you how to effectively monitor your code in production 
—> deploy a machine learning 


Introducing engineering principles 


Q- oky this article i like so much 
“Suppose you’re working on a project with several others (could be data scientists, software engineers, etc.). How do you handle modifying the same code files? What about testing out new features or modeling techniques? What’s the best way to track these experiments or to revert changes? Often times, data scientists will use tools like Jupyter Notebook (a software tool that for writing code and viewing its results in a single integrated environment). Because Jupyter Notebook allows for easy viewing of code results (such as showing charts or other visuals, for example), it’s a popular tool for data scientists. However, working on these files can notebook often get messy quickly (you may hear the term ). This is generally because part of spaghetti code being a data is experimentation and exploration - trying out various ideas, creating scientist visualizations, and searching for answers in data. Applying software engineering principles, such as reducing redundancies, making code more readable, or using object-oriented programming (a topic we’ll introduce later), can vastly improve your workflow even if your direct involvement with software engineers is limited. These principles make your code easier to maintain and to understand (especially if you’re looking at it some length of time after you’re written it). Additionally, being able to pass your code to someone else (like a software engineer, or even another data scientist) can be very important when it comes to getting your code or model to be used by others. Having messy code spread across Jupyter Notebook files, or perhaps scattered across several programming languages or tools makes transitioning a code base to someone else Introducing engineering principles What data scientists need to know about software engineering Why data pipelines are important How machine learning (ML) pipelines are used Putting models into production ©Manning Publications Co. To comment go to liveBook https://livebook.manning.com/book/software-engineering-for-data-scientists/discussion 1 much more painful and frustrating. It can also cost more time and resources in order to re-write a data scientist’s code into something that is more readable, maintainable, and able to be put into production. Having a greater ability to think like a software engineer can greatly help a data scientist minimize these frustrations. “ 

Q- now my question while i like it i feel it more abstract … so i want to make more concrete 
Using titanic dataset (which for me a simple but require a lot of work) 
Use it as proof of concept first to see how jupeter work flow look like and how messy can be 
And then use software engineering first to make this jupyter note book more readeble and then make more clean in a dedicated python file .py 

Q-  make your tutor a clean and details using question& answer style of common problem solution along the way