Week-1 — Python Odyssey

Moneka
6 min readJul 7, 2024

--

Hello Readers!📖

Continuing my series “100 days of Bytewise,” I’m excited to share the progress from the first week of my Bytewise Fellowship at Bytewise Ltd, which started on 2024–06–10, during this week of my role, I successfully completed orientation and began familiarizing myself with the initial tasks assigned by our Track Lead — Nimra Waqar

Embarking on the Journey
On June 10, 2024

Day 1: Orientation and Getting Started

The week kicked off with an orientation session, Nimra Waqar led our inaugural meeting for the Bytewise Fellowship, unveiling a comprehensive 100-day roadmap, covering market demands in Machine Learning and Deep Learning, subdomains of Artificial Intelligence, learning trajectories, essential industry certifications. Also, were introduced to the program structure, task breakdown, objectives, expectations, and submission procedures ( via Google Classroom).

Meeting Minutes:

  • Tasks were uploaded to Google Classroom by our Lead for review and execution.
  • Encouraged to post our weekly progress and skill development on platforms like Twitter/Threads and Medium, making our social media presence. So we were being given the opportunity to write an article or blog on Medium to get to know how to document a product (software). Plus, we were allowed to include both positive and negative aspects.
  • Weekly task evaluations will be conducted during meetings and graded via Google Classroom.

For motivation and self-work suggestions, she said, “Remember, you’re the sole proprietor of this. If you do it on your own. Using tools like OPEN AI, Gemini, Claude, Perplexity, You Chat, etc., to generate steps for coding — not to generate code for you — will help you learn more!

Her clarity and foresight have energized us, setting a positive tone for the fellowship and leaving us motivated for the journey ahead.

“ True learning comes from doings things yourself.”

The First Week Tasks (Daywise) :

It was a good refresher and set the stage for more complex Python tasks with DSA/DP.

Let’s dive in!

Task 1: Getting familiar with Python

On the very first day, various basic exercises were assigned by the Track Lead to get our foundation right. It involved learning about Python Programming language Basics, which includes understanding fundamental syntax, data types, control structures (such as loops and conditional statements), string manipulation techniques, and other essential concepts. Exercises were given as follows:

  • Sum of Two Numbers
  • Area of a Circle
  • Even or Odd
  • Simple Calculator
  • Finding the largest number
  • String reversal
  • Finding vowels
  • Fibonacci series
  • Palindrome word determiner

Task 2: Advancing with Python

Some intermediate python topics including functions and strings, loops, lists comprehensions. It was particularly useful in learning how to manipulate strings and numbers effectively.

  • Palindrome Checker (word)
  • FizzBuzz
  • Nth Fibonacci Number
  • Prime Number Checker
  • Guess the number game
  • List comprehension
  • Palindrome Sentence
  • Anagram Checker
  • Reverse words in a sentence
  • Temperature converter

Task 3: Starting on Data Structures & Algorithm (DSA)

The third day was all about ramping up on data structures plus some advanced topics. These were designed aiming at improving problem-solving using data structures:

  • Recursive factorial
  • Palindrome linked list
  • Merge sorted arrays
  • Binary tree search
  • Longest palindromic substring
  • Merge intervals
  • Maximum subarray
  • Reverse linked list
  • Minimum edit distance
  • Boggle game

Task 4: Data Structures & Algorithms (Conti…)

The major goal of the fourth day was solving more advanced problems with data structures and algorithms. These exercises were aimed to understand essential algorithms and their applications, giving a solid foundation in data structures and algorithmic thinking.

  • Quick sort algorithm
  • Knapsack problem
  • Graph traversal (BFS and DFS)
  • Dijkstra’s algorithm
  • Longest common subsequence (LCS)

Weekend Task:

At the end of every week, we’re assigned to write about our weekly progress.

Blog/Article Criteria:

  • Your detailed account of the Bytewise Fellow process should be good, showcasing your preparation and commitment.
  • You can add more about the 100-day roadmap and your personal goals for this fellowship.
  • Consider adding a hook line or title to grab users’ attention; this will prevent them from skipping your article and instead, pique their curiosity.
  • Providing these details to give readers a clearer picture.

Check out the tasks and their solutions: Click Here

Overcoming Challenges

DSA tasks indeed were tricky and difficult, so I spent much time practicing them. This is because BFS, DFS, linked lists, graphs, and dynamic memory are very conceptual. As they say, the more you practice, the more interesting it becomes.

I was initially distressed with these tasks, as I anticipated difficulty in understanding and solving the exercises within the given timeframe. Most of the fellows with the same concerns reached out to the lead to discuss our concerns regarding the tight deadlines.

Thanks to Nimra Waqar Ma’am, she handles all our complaints and discusses our issues. She never wants us to simply submit all the tasks; she wants us to learn things on our own and use the given tasks for practice. Therefore, she set day 1 deadlines for submissions, not task completion. Her reassurances highlighted that the primary objective was to facilitate learning and acquiring valuable experiences. She aims for us to learn on a daily basis and complete tasks at our own pace. So we keep uploading them to GitHub by editing our task submissions.

Also, I sought assistance for these tasks from ChatGPT, articles from sources such as Geek For Geeks, Kaggle, and various tutorials available on YouTube, supplemented by tutorials provided by our team lead.

Final Thoughts and Wrap-Up:

This first week of the Machine Learning Track with Bytewise has been all about Python. From mastering the basics to delving into complex topics like data structures and algorithms, each day brought new challenges that honed my coding skills and logical thinking. The fellowship fostered a collaborative learning environment, where interacting was complemented by an intense yet enlightening dive into the basics of Python and data structures during the first week.

I can’t wait to see what the next weeks have in store!

Stay Engaged

Feel free to check out my code and notebooks on Github. If you come across any issues, concerns, or have any feedback, please reach out to me. Your feedback is highly valuable to me!

Stay tuned for more updates from my #100DaysOfBytewise journey !!!!!!!!!! Also, you can check out my Github repository: #100DaysOfBytewise

Happy coding! 🐍💻

Warm regards,
Moneka

Tools and Key Libraries:

So for I’ve used: Jupyter Notebook, VSCode, Colab.

Resources:

Youtube Channels:
1. Corey Schafer
2. Tech with Tim
3. Sentdex
Documentations:
1. Geeks for geeks
2. Python documentation
Books:
1. Cracking the Coding Interview by Gayle Laakmann McDowell
2. Algorithms by Robert Sedgewick and Kevin Wayne to cover fundamentals and DSA.

For practice:
I prefer to daily solve atleast 1 problem on leetcode. Start from the easiest ones and then gradually increase the difficulty level.

Some resources to practice DSA:

Tool to visualize line by line execution of your code:

Tips:

Before writing code write the steps or functions on paper wthat will help you initially cope with confusion.
Try to solve 2 3 Leetcode problems daily (highly recommended).It will improve problem solving and grip on any language.

For some real experiences start contributing to github repos small level and create your own projects

Let’s learn, grow, and conquer together!

Join Me:
I invite you to join me on Github, Linkedin, Facebook, Instagram during this journey of growth and discovery. Whether you’re a seasoned developer, a curious beginner, or simply interested in the world of technology, I hope this series will provide valuable insights and inspiration for your own learning path.

Catch you later on my next blog!

--

--