locked
I need ideas for projects in C# RRS feed

  • Question

  • Hello, my name is Daniel, I started using C# as my main language since April 2017, but apart from coding random things that come in my mind, I have no idea what to do to increase my experience as a programmer. So, I'd like you to share ideas with me, like building a calculator, etc...

    Preferably in Windows Forms, since I don't know how to use WPF yet (If you know a good tutorial I'd appreciate). 

    Wednesday, April 25, 2018 2:50 PM

Answers

  • Learn to work with relational databases, for instance if you are into sports build a player stats app or perhaps a movie application.

    The upfront challenge is to create a relational schema rather than using a single table. From there, create a class project to handle data operations that interact with a desktop form project. 

    Write unit test for all operations where for each operation there is a positive a negative test.

    Learning database and unit testing will keep you busy if never done them before for a long time and knowing these topics is essential as a professional developer.


    Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem. Contact via my Twitter (Karen Payne) or Facebook (Karen Payne) via my MSDN profile but will not answer coding question on either.
    VB Forums - moderator
    profile for Karen Payne on Stack Exchange, a network of free, community-driven Q&A sites

    • Marked as answer by Stacklysm Saturday, April 28, 2018 2:05 AM
    Wednesday, April 25, 2018 3:54 PM

All replies

  • https://www.codeproject.com/Articles/36847/Three-Layer-Architecture-in-C-NET

    After doing the above tutorial, make the above tutorial work with a List<T> and custom object, like DTO,  instead of datasets, datatables and adapters and SQL command objects. 

    https://www.codeproject.com/Articles/1050468/Data-Transfer-Object-Design-Pattern-in-Csharp

    http://www.tutorialsteacher.com/csharp/csharp-list

    https://www.c-sharpcorner.com/UploadFile/c5c6e2/working-with-command-object/

    You can see one example where you see the ExecuteReader Method example in the above link.

    The example I am showing is using the ADO.NET Entity Framework, but the concept is the same what you would use where you populate the List<DTO> within the datareader While Loop in the above example link and return the List<DTO> that is bindable to a control.

    public List<DTOStudent> GetStudents()
            {
               
                var dtos = new List<DTOStudent>();
    
                using (var context = new CUDataEntities())
                {
      
                    var students = context.Students.ToList();
    
                    foreach(var stud in students)
                    {
                        var dto = new DTOStudent
                        {
                            StudentID = stud.StudentID,
                            FirstName = stud.FirstName,
                            LastName = stud.LastName,
                            EnrollmentDate = stud.EnrollmentDate
                        };
    
                        dtos.Add(dto);
                    }
                }
    
                return dtos;
            }

    Make everything work by using the DTO and not the dataset, datatable and adapter. 

    • Proposed as answer by Fei Hu Thursday, April 26, 2018 6:31 AM
    Wednesday, April 25, 2018 3:45 PM
  • and make it work with SQL command objects....
    Wednesday, April 25, 2018 3:46 PM
  • Hello,

     Not sure how my answer will help you but... I browse the MSDN Forums and look for

    post that have can help others with. Some of the posts are basic and some are not.

    I try to help by offering a different perspective, code approach, for the given OP task.

    I will admit that there are some areas that I can not help, like ASP.Net.  But I will try

    to find articles or references that will guide the OP for the solution.

     

     Currently, I am working on a Desktop animation application similiar to DeskMates. I

    do some 3D modeling and animations along side my coding skills. So, I thought, why

    not code my own Animator for use with my 3D rendered graphics. Once I finished the

    basic framework, again I thought. Why not make the project interact with the Desktop?

    Which is the current stage of my projects next version.

     

     My point is, you can code just about anything with your skill. And find challenges to

    expand that skill.  Or you can just code simple projects like File and Directory searches.

     

     Hope this helps :)

    Wednesday, April 25, 2018 3:53 PM
  • Learn to work with relational databases, for instance if you are into sports build a player stats app or perhaps a movie application.

    The upfront challenge is to create a relational schema rather than using a single table. From there, create a class project to handle data operations that interact with a desktop form project. 

    Write unit test for all operations where for each operation there is a positive a negative test.

    Learning database and unit testing will keep you busy if never done them before for a long time and knowing these topics is essential as a professional developer.


    Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem. Contact via my Twitter (Karen Payne) or Facebook (Karen Payne) via my MSDN profile but will not answer coding question on either.
    VB Forums - moderator
    profile for Karen Payne on Stack Exchange, a network of free, community-driven Q&A sites

    • Marked as answer by Stacklysm Saturday, April 28, 2018 2:05 AM
    Wednesday, April 25, 2018 3:54 PM
  • It is very hard to say how to increase experience. It depends if you want to be freelancer or you want to work for some company, ... Each company is different. In small companies it is not about programming only, programmer must be architect, analyst, must work with hardware, servers, ... In large company you can have defined your position very strict and do not do anything else than programming small parts of large systems.

    It is very useful to know how teams work together, how to share your code with others ...

    You can start with basic certifications, ... 

    Wednesday, April 25, 2018 6:55 PM
  • Aren't certifications paid? I don't have the money yet and I've heard they're actually pretty hard (specially 70-483)
    Wednesday, April 25, 2018 10:51 PM
  • Aren't certifications paid? I don't have the money yet and I've heard they're actually pretty hard (specially 70-483)

    Yeah study martial for a certification and the certification itself cost money.
    Wednesday, April 25, 2018 11:34 PM
  • https://www.codeproject.com/Articles/36847/Three-Layer-Architecture-in-C-NET

    After doing the above tutorial, make the above tutorial work with a List<T> and custom object, like DTO,  instead of datasets, datatables and adapters and SQL command objects. 

    https://www.codeproject.com/Articles/1050468/Data-Transfer-Object-Design-Pattern-in-Csharp

    http://www.tutorialsteacher.com/csharp/csharp-list

    https://www.c-sharpcorner.com/UploadFile/c5c6e2/working-with-command-object/

    You can see one example where you see the ExecuteReader Method example in the above link.

    The example I am showing is using the ADO.NET Entity Framework, but the concept is the same what you would use where you populate the List<DTO> within the datareader While Loop in the above example link and return the List<DTO> that is bindable to a control.

    public List<DTOStudent> GetStudents()
            {
               
                var dtos = new List<DTOStudent>();
    
                using (var context = new CUDataEntities())
                {
      
                    var students = context.Students.ToList();
    
                    foreach(var stud in students)
                    {
                        var dto = new DTOStudent
                        {
                            StudentID = stud.StudentID,
                            FirstName = stud.FirstName,
                            LastName = stud.LastName,
                            EnrollmentDate = stud.EnrollmentDate
                        };
    
                        dtos.Add(dto);
                    }
                }
    
                return dtos;
            }

    Make everything work by using the DTO and not the dataset, datatable and adapter. 

    Interesting stuff, I'm surely trying it out some day
    Saturday, April 28, 2018 2:06 AM
  • Interesting stuff, I'm surely trying it out some day.

    Just so that it's clear to you, what you are being shown in the very first link about n-tier that was provided has to do with the relational database stuff, right? :) 

    https://www.codeproject.com/Articles/228214/Understanding-Basics-of-UI-Design-Pattern-MVC-MVP

    You can even apply MVP to the Windows form presentation layer to make it testable

    http://geekswithblogs.net/lennykean/archive/2012/02/21/winforms-and-mvp-making-a-testable-application.aspx

    Saturday, April 28, 2018 3:43 AM
  • Learning c# basically involves learning data structures like c# list,dictionary,array list, jagged array,classes etc.

    First you should go through all basic data structures which c# uses and try building small programs making use of those data structures.

    Then you select any project.then search for same project on internet and see how they have implemented it and start implementing yours.

    After building your first project you can post your project on “codeproject” and let other learn from it.

    Set an idol and working until your idol becomes your rival.

    These are the ones i created when we learned C# or Java.

    Calculator.
    Address Book or Contact Applications
    File Manager where you can store files, read file, create an index of files. We use .mdb file for storing files. This project can also be created using WPF for good UI.
    Application for most common sites you visit. You just need to click on a dashboard and it opens that website. Try adding functionality of storing some text or article for future reference.
    Try Notepad like application.

    Thursday, December 19, 2019 4:19 AM