Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software applications. Software engineers apply engineering principles and knowledge of programming languages to build software solutions for end users.
roles of Software engineers
- - Designing and maintaining software systems
- - Evaluating and testing new software programs
- - Optimizing software for speed and scalability
- - Writing and testing code
- - Consulting with clients, engineers, security specialists, and other stakeholders
- - Presenting new features to stakeholders and internal customers
Linux is one of the most popular operating systems for Information Technology Employees. System Administrators, Network engineers, IT Technicians and many other employees who work in IT, uses this important operating system for various reasons such as:
- Customization
- Open source
- Reliability
- Security
- Free to use
- Flexibility
- Compatibility
- Multitasking
- Performance
- Large community support. Linux knowledge, is a key skill for an IT employee. your career opportunities increase with Linux skills. For information...
C is used where speed, space, and portability are important. Most operating systems are written in C. Most other computer languages are also written in C. And most game software is written in C.
spring one
- Git & command line editors
- Introduction to Bash
- C - first statements
- C - pointers
- C - recursion
- C - static library
- C - memory allocation
- C - preprocessor
- C - variadic functions
- C - bit manipulation
- C - file I/O
- Singly linked lists
- Create your own printf
- Create your own Shell
Spring Two
- Python - first statements
- Python - import & modules
- Python - data structures
- Python - exceptions
- Python - classes
- Python - inheritance
- Python - file I/O
- Python - JSON serialization / deserialization
- HTML/CSS introduction
- SQL - basic queries
- SQL - join queries
- C - dynamic libraries
- C - makefiles
- Doubly linked lists
- Stack and Queues
- Hash tables
- Sorting algorithms
- Binary trees
- Bash - scripting
- Unix processes and signals
- Regex
- Network introduction
Spring Three
- Python - Object-relational mapping
- Python - Web framework
- Python - RESTful API
- Python - web scraping
- Javascript - first statements
- Javascript - objects
- Javascript - scopes and closures
- Javascript - web scraping
- Search algorithms
- SSH
- SSL certificate
- Web server
- Load balancer
- Firewall
- MySQL primary-replica
- Server monitoring
- Code deployment
- Postmortem
- Webstack debugging
- Portfolio project
FrontEnd
- ES6 introduction / promise
- ES6 classes / data manipulation
- TypeScript
- HTML / CSS advanced
- Developer tools
- Responsive design
- Webpack
- React introduction / props
- React component
- React inline-styling
- React state / immutable
- React Redux - action creator/normalizr
- React Redux -reducer/selector
- React Redux -connector/provider
BackEnd
- ES6 introduction / promise
- ES6 classes / data manipulation
- TypeScript
- Python
- async
- MySQL advanced
- NoSQL introduction
- Redis introduction
- API Pagination
- Caching algorithms
- Unit & integration tests
- i18n
- Personal data
- User authentications
- Node JS introduction
- Queuing system
- GraphQL API
- Async file API
Slow down. The more you understand, the less you have to memorize.
Don’t just read. Stop and think. When the book asks you a question, don’t just skip to the answer. Imagine that someone really is asking the question. The more deeply you force your brain to think, the better chance you have of learning and remembering.Do the exercises. Write your own notes.
We put them in, but if we did them for you, that would be like having someone else do your workouts for you. And don’t just look at the exercises. Use a pencil. There’s plenty of evidence that physical activity while learning can increase the learning.Read “There Are No Dumb Questions.”
That means all of them. They’re not optional sidebars, they’re part of the core content! Don’t skip them.Make this the last thing you read before bed.
Or at least the last challenging thing. Part of the learning (especially the transfer to long-term memory) happens after you put the book down. Your brain needs time on its own, to do more processing. If you put in something new during that processing time, some of what you just learned will be lost.Talk about it. Out loud.
Speaking activates a different part of the brain. If you’re trying to understand something, or increase your chance of remembering it later, say it out loud. Better still, try to explain it out loud to someone else. You’ll learn more quickly, and you might uncover ideas you hadn’t known were there when you were reading about it.Drink water. Lots of it.
Your brain works best in a nice bath of fluid. Dehydration (which can happen before you ever feel thirsty) decreases cognitive function.Listen to your brain.
Pay attention to whether your brain is getting overloaded. If you find yourself starting to skim the surface or forget what you just read, it’s time for a break. Once you go past a certain point, you won’t learn faster by trying to shove more in, and you might even hurt the process.Feel something.
Your brain needs to know that this matters. Get involved with the stories. Make up your own captions for the photos. Groaning over a bad joke is still better than feeling nothing at allWrite a lot of code!
There’s only one way to learn to program: write a lot of code. And that’s what you’re going to do throughout this book. Coding is a skill, and the only way to get good at it is to practice. We’re going to give you a lot of practice: every chapter has exercises that pose a problem for you to solve. Don’t just skip over them—a lot of the learning happens when you solve the exercises. We included a solution to each exercise—don’t be afraid to peek at the solution if you get stuck! (It’s easy to get snagged on something small.) But try to solve the problem before you look at the solution. And definitely get it working before you move on to the next part of the bookFirdaus H. Salim Software engineer at ALX. Reader. Writer.
- How I Tackle My Software Engineering Projects at ALX Contributing Pull requests are always welcome! Feel free to folk and make pull requist any Advise changes that can be made.