<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Siva Sankaran S</title>
    <description>The latest articles on DEV Community by Siva Sankaran S (@_siva_sankar).</description>
    <link>https://dev.to/_siva_sankar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F499786%2F7018674f-5eec-4450-8414-1b836eafbd90.jpg</url>
      <title>DEV Community: Siva Sankaran S</title>
      <link>https://dev.to/_siva_sankar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_siva_sankar"/>
    <language>en</language>
    <item>
      <title>How to Design Program - Learning Experience</title>
      <dc:creator>Siva Sankaran S</dc:creator>
      <pubDate>Fri, 15 Mar 2024 05:33:28 +0000</pubDate>
      <link>https://dev.to/_siva_sankar/how-to-design-program-learning-experience-4kge</link>
      <guid>https://dev.to/_siva_sankar/how-to-design-program-learning-experience-4kge</guid>
      <description>&lt;p&gt;Out of curiosity and desire for learning computer science deeply, I have started ossu curriculum. I am already 10+ years experienced software developer working in dotnet ecosystem. I have skipped the introduction courses and into the "Core Programming" which covers software design, programming paradigms and various important topics in programming. &lt;/p&gt;

&lt;p&gt;Currently I am doing the second week of the course "&lt;a href="https://learning.edx.org/course/course-v1:UBCx+SPD1x+2T2015"&gt;Systematic Programming Design&lt;/a&gt;". This course has created a separate programming language for the sake of course itself. The main purpose of the language is to teach the students about programming. This course is based on the book "How to Design Program". &lt;/p&gt;

&lt;p&gt;Among programming introduction books/courses HtDP and SICP are in a separate league. They insists on learning the basics, fundamentals of programming rather than the nitty gritty of programming languages or its tools. And addition to these they(both HtDP&amp;amp;SICP) emphasize on important but common/abstract topics like recursion. This is my opinion on going through few pages of SICP and HtDP books. To put it succinctly, they deals with more permanent and pervasive things of programming. This is amazing for someone who is in beginning stages of programming. I learned about typing, programing paradigms much later in my journey of programming and it's perfectly fine.&lt;/p&gt;

&lt;p&gt;But HtDP took a &lt;a href="https://en.wikipedia.org/wiki/How_to_Design_Programs#Pedagogical_basis"&gt;diversion &lt;/a&gt; from the SICP on easing out the process of learning as per the opinions of authors. I agree HtDP is better than SICP to take it first. &lt;/p&gt;

&lt;p&gt;So far spending 5 hours per week for 2 or 3 weeks, I have covered the BSL the language used in this book, a recipe on How to design function, a simple recipe on How to design simple data. To a seasoned programmer this might look like silly. But What I appreciate is this course teaches good habits of programming in the very early stages of programming learning journey. The habit is unit testing. Literally it teaches Test-driven development. &lt;/p&gt;

&lt;p&gt;One more thing to tell is the BSL (which is a trimmed down version of Scheme, in turn it is a dialect of list)  is the very easiest language to learn since it's keywords, programming constructs were very small. You have to use these to build complicated programming concepts like enumeration and so on. This is kind of playground for me and I looking for having fun :)&lt;/p&gt;

&lt;p&gt;I will keep posted about my experiences in following days. Thanks&lt;/p&gt;

</description>
      <category>ossu</category>
      <category>htdp</category>
      <category>course</category>
      <category>programming</category>
    </item>
    <item>
      <title>#100DaysOfCode - Committing my self</title>
      <dc:creator>Siva Sankaran S</dc:creator>
      <pubDate>Thu, 29 Oct 2020 18:04:14 +0000</pubDate>
      <link>https://dev.to/_siva_sankar/100daysofcode-committing-my-self-1kjp</link>
      <guid>https://dev.to/_siva_sankar/100daysofcode-committing-my-self-1kjp</guid>
      <description>&lt;p&gt;Hi Friends !&lt;/p&gt;

&lt;p&gt;Though I am having big dreams I didn't work on myself to achieve those dreams for long days. No more excuses here after. I commit myself to program daily at least one hour for 100 days continuously apart from my daily work.&lt;/p&gt;

&lt;p&gt;I will use this challenge to become strong in technologies that I'm gonna work like dotnet, ASP.NET Core, EF Core, Angular.&lt;/p&gt;

&lt;p&gt;I will use this challenge to become clean coder, great software architect with skills of designing software systems object oriented way, having deep knowledge about non functional features like security, logging, Exception Handling, Performance.&lt;/p&gt;

&lt;p&gt;I will use this challenge to become great programmer/problem solver by learning Data structure/algorithm design fundamentals, learning programming paradigms, solving problems deliberately improving programming skill, learning to trade offs between memory efficiency, computing efficiency, many more.&lt;/p&gt;

&lt;p&gt;Driving daily to your work wont make you a better driver. I read this in a blog 5 or 6 years before. I haven't used my decade long software engineering job to enrich my career with experiences. I utilize this challenge to improve my motivation, time management skill, prioritization. &lt;/p&gt;

&lt;p&gt;My plan is&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Completing &lt;a href="https://www.udemy.com/course/the-complete-guide-to-angular-2/"&gt;The Complete Guide to Angular 2&lt;/a&gt; course&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.albahari.com/threading/"&gt;Threading in C#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reading Stephen Cleary's Concurrency in C# Cookbook (2014) book and &lt;a href="https://docs.microsoft.com/en-us/dotnet/standard/parallel-processing-and-concurrency"&gt;Parallel Processing, Concurrency, and Async Programming in .NET&lt;/a&gt; along with doing exercises to apply those knowledge&lt;/li&gt;
&lt;li&gt;Reading Pragmatic Unit Testing in C# with NUnit, 2nd Edition&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Complete Reading following Docs along with doing a project to apply those stuffs&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-3.1"&gt;Create web APIs with ASP.NET Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-3.1"&gt;ASP.NET Core MVC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?view=aspnetcore-3.1"&gt;ASP.NET Core fundamentals | Microsoft Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/?view=aspnetcore-3.1"&gt;Host and deploy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/security/?view=aspnetcore-3.1"&gt;Security and identity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/test/razor-pages-tests?view=aspnetcore-3.1"&gt;Test, debug and troubleshoot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/performance/performance-best-practices?view=aspnetcore-3.1"&gt;Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding?view=aspnetcore-3.1"&gt;Advanced features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-dotnet"&gt;Azure and ASP.NET Core&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reading &lt;a href="https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/"&gt;Architect Modern Web Applications with ASP.NET Core and Azure&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reading &lt;a href="https://docs.microsoft.com/en-us/dotnet/standard/clr"&gt;Execution Model | CLR Overview &lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reading The Art of Unit Testing with Examples in .NET (Manning 2009)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;My priority is getting strong deep knowledge/skill on above areas of my interests first. Completing this challenge will not only make me a good at these dotnet technologies but also teach me how to stay motivated and managing time efficiently. I will document my progress on the challenge and also my learning.&lt;/p&gt;

&lt;p&gt;Along with reading/following above docs/books/course, I will do a project which emphasize on object oriented design with guideline principles like DRY, SOLID. I have read enough to know those principles this is the ground to play with it. These projects will be deployed and publicly available also. I will try to make applications which can be helpful for others who are using it really. &lt;/p&gt;

&lt;p&gt;I say myself Bon voyage&lt;/p&gt;

</description>
      <category>100daysofcode</category>
    </item>
  </channel>
</rss>
