Affordable (only $20),
What Systemup does for you
If you know the basics of programming, you can probably make things. However, unfortunately, the ability to make things doesn't mean you know how to make them in the right way. Example: It maybe easy for you to make something like a contact-form - a program that lets users send messages to someone. It's good, but what would happen when your program starts to receive heavy load - say, 1 million messages each minute? How do you manage it? Let's forget the load for now. What would happen when you wanted to add lots more features to your app in few days? Maybe you will need to work with other developers, but how would you split the work with them and make sure that integration will not fail at the end? What tools should you use to work with other developers? How do you make sure that you have tested everything and that it will hardly fail or the security won't be compromised? How do you make sure that your managers (if any), and new developers will not find what you made hard to manage? The list is huge, but if you think you do things in the right way, you must be able to answer all these questions yourself.
This is why employers make interviews hard, and this is why they have preference for those who have experience. Unfortunately, it is hard for a book or a video to give you this knowledge. It only takes experience and practice to gain it.
Systemup is an innovative online course that gives you this knowledge with lots of interactive sessions. The motivation of the Systemup project is to make you do things in the right way, giving you the knowledge of the latest methods, tools, techniques, and technologies available.
What you get
Systemup gives you the knowledge and familiarity to how real projects work. After completion of this course, you should be able to:
Have a good idea of what will be expected from you
when you get your first job/promotion.
Make sure that you are doing your job in the right
Have the practical knowledge to do things in the right
Build your own software/website in the right way,
following the industrial standards.
At the end of the course, we will send a formal letter to you certifying your performance. If you like, we will publicly display the same on our website.
The course consists of lots of interactive sessions, which are fun to do. We don't make you bored with long text notes. Instead, we use video lectures, forums, chats, quizzes, assignments, debates, practicals, workshops, demonstrations, and lots of other interesting activities. The entire course runs on Changeup's LMS (learning management system), which is powered by Moodle. Upon enrollment, we will create an account for you to participate in our course.
What is the schedule? Part-time?
The course is designed to last in 6 months, if you can spend few hours in the course every day. However, we are much flexible in scheduling. Depending on how regular you can participate in, you can take up to 18 months. One of the goals of Systemup is to be able to flexibly serve you despite how busy you are. You can find the general schedule here.
Main course: The main course of Systemup consists of the following topics.
1. Definition of a killer concept
A basic introduction to the initiation of a project. This topic covers what makes something a killer concept with lots of potential, and the initiation phase of transiting a concept into a doable.
2. Satisfy the concept with research, and requirements engineering
An ideal combination of the viewpoint of a software engineer and programmer. This part covers what both a programmer and software engineer is expected to know in the phases of requirements engineering. Beside a conventional requirements gathering session, there is a much to follow in research. This topic also covers what you should research at the first place towards a deliverable.
3. Design things in the right engineering way
An in-depth analysis on designing things before the implementation. There is much more to design than that conventional ER diagrams and UML diagrams. A proper design of the application architecture is what makes the outcome feasible, and makes sure the project won't be failed. This topic practically covers what you should design, how such designing should be done.
4. Design databases relationships and NoSQL
An in-depth practical analysis on database designing. This section covers lots of essential things about database design, starting from normalization, to choosing between an RDBMS or NoSQL solution.
5. Decide things about prototypes
An overview to usability engineering, featuring software prototyping. This section practically covers when you should decide to go for a software prototype, and what prototyping methods you should use when you are given build a prototype.
6. Prepare to develop with engineering tools
A practical guide to decide what tools you should use in programming. A clear plan about tools makes the implementation phase runs seamlessly. This section covers the availability of some awesome tools and techniques, and how to decide what tools should you use in the implementation phase, depending on the nature of the project. It also covers with demonstrations how you should use tools in different types of development environments.
7. Version control and continuous integration setup
A part of the course that explains and demonstrates what and how-to-use version controlling systems and continuous integration systems. This section covers what version control and continuous integration systems are, and how you should set them up. In addition to the features of version controlling and CI systems, this section also covers best practices of working with these systems, and what you are expected to know as a developer or software engineer.
8. Understand the real meaning of module-based implementation
An in-depth and analysis about modular programming. The idea of modular-programming has much more than conventional WBS and class-based programming. This section covers how to carry out an ideal implementation phase featuring the essential notions of module-based implementation.
9. Enhance a JavaEE web project (Optional)
Practical guidance on enhancing an on-going project. This section covers what aspects have to be considered when you enhance an on-going project. For the sake of simplicity, a JavaEE web project will be taken into the reference in this section.
10. Test Engineering: Manual tests and automated tests on a continuous integration server.
An overview to manual testing, test methods, and testing on a continuous integration server. This section explains and practically demonstrates what you are expected to know when you deal with testing and quality assurance. It also covers the modern aspects of testing, in addition to the conventional test techniques.
11. Code coverage, mock objects, and static analysis.
Guidance on enhancing automated testing. This section covers how you can further adapt automated testing with practical use of code coverage, mock objects, and static analysis tools.
12. When and how to use MapReduce for large data
Guidance on dealing with large amounts of data without affecting the performance. This section covers all aspects of MapReduce programming model and makes you well-aware of how to deal with large data sets.
13. Work on production environment.
Everything you need to know on working on a production system. This section covers what you should know when you transit software from QA to production, and what you should do with deployment, maintenance, and change requests.
14. Application security.
Guidance on securing software. When essential security constraints are not properly implemented, everything could be disastrous at one point. This section covers application security with a special emphasis to web application security with practicals and demonstrations. The course content is designed in a way that teaches you application security in general platform.
15. Maintainability and Standards
An analysis on available standards and using them when making software. Maintainability is an important aspect that should never underrate. This section practically covers how and why maintainability is so important, featuring software standards that should be used to sustain the maintainability of a software.
16. Agile Development
A practical overview to agile software development. Iterative and incremental development is a highly popular area in the software development industry. This section covers what agile development is, and it can be practically used in the whole process of a software project.
17. Work in a team and manage a team
An overview to the nature of teams and team politics. People with lack of knowledge on teams and team politics find it is harder to work in a team and manage a team. This section consists of an overview to team behavior and what you should know when working with teams.
18. Final project (optional)
An optional final project to focus on everything learned in the course. If you choose to do this final project, you will be doing a project under the guidance of Systemup, following everything learned in this course. Your performance on this project will be mentioned in the final certification letter we send to you. If you like, we will mention the same on our website.
Upon registration with Systemup, you will be enrolled to the main course shown above.
In addition to the main course, you can also choose to be enrolled into the elective entrepreneur course, at a small additional cost.
Entrepreneur course: The elective entrepreneur course is designed for those who are interested in starting up their own internet businesses. This course is elective and takes a small additional cost (Please refer the perks listed at the right side). The content of the entrepreneur course is as follows:
18. Understand the potential risk and opportunities
An in-depth analysis on finding out the opportunities potential risks involved in a startup idea. An idea might worth nothing unless it is fine-tuned towards the accomplishment of opportunities and risk management. This section also covers the essentials of targeting the right audience.
19. Spread the word of your product
An interactive session on get people's attention for your product. Conventional online advertising only does a part of the journey. It takes lots of other things to gain reputation awareness. This section covers the other things you need to know about spreading the word of your product.
20. Get people to use the product, and make them keep using it.
Guidance on setting up on-site attributes that makes people use your product and keep using it. If the bounce rate is higher, it signifies that you need to undertake some operations on on-site attributes of your product. This section covers how to identify such attributes and make sure they are properly enhanced.
About our eLearning Platform
Moodle is an open-source eLearning platform. We have chosen Moodle because it allows us to deliver all interactive sessions to you in an easy and comfortable way. Moodle supports delivering video lectures, demonstrations, practicals, assignments, forums, quizzes, debates, chats, questions, wikis, and lots of other interactive activities. In the first day of the course, we will show you how easy it is to use Moodle, with an overview to the course.
As you can imagine, creation, management, and delivery of this kind of course costs a lot of money and efforts. However, we want to make sure that we reach into all of you, who would be benefited from this project. To make that possible, we have set the price of the course at minimum level that everyone can afford. Please take a look at the perks available at the right side - there are perks starting from $5.
How to Join
Please select the perk(s) shown at the right side of this page before the closing date of this campaign, which is August 03, 2014. When you are asked to enter your email address, please make sure you enter an email address that we can contact you through. The email address you enter will be the one we use throughout the course. Your index number, registration details, and e-learning account details will be emailed to you before the course begins. The course will begin on August 18, 2014.
Who I am
My name is Devaka Cooray. An entrepreneur, who invented many things on internet, including ExamLab, which has helped many Java exam aspirants. A moderator of Coderanch - world's largest Java community. Worked as the chief technology officer at BusinessWebDeveloper. Won 2005 national software award fromIESL. A technical editor of many books related to programming and software engineering.
The project Systemup would not have been possible without the immeasurable and amazing support from this guys:
What else you can do to help us
Please spread the word of Systemup. Please share it via emails, Facebook, Twitter, Google+, and whatever way you like. I thank you all for all sort of helps you do to make this project successful.