Best data processing books according to redditors

We found 440 Reddit comments discussing the best data processing books. We ranked the 93 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top Reddit comments about Data Processing:

u/samort7 · 257 pointsr/learnprogramming

Here's my list of the classics:

General Computing

u/TJSomething · 70 pointsr/CrappyDesign

I'd recommend figuring out who's responsible and them giving them a copy of Don't Make Me Think. It's a relatively short book, so they might actually read it, then they might actually get some good ideas.

u/berkes · 47 pointsr/webdev

Exactly this.

For quite some projects, I had to find a freelance frontender or webdesigner.
Here's how that goes:

  • I post an ad, classified or get names via referrers.
  • I wade through that to make a shortlist of 20+ candidates.
  • One by one I visit their sites, looking for a Resume or a Portfolio.
  • One by one, I have to wade through weird navigation, presentations, fucking horizontal scrolling, skipintros. I even had to open the source to find what fucking image represents a link to the portfolio. I've had to wait for some fancy JS caroussel to take me through the portfolio. I've had to watch videos, in order to see the resume.

    I'ts a great way to separate the rubbish developers from the good ones. If you manage to present your information on one page, with a few clicks to learn more about a certain project, in clean, simple HTML, preferable recenly updated to work on mobile (responsive): you're through. But if you cooked up your navigation while on LSD using Suprise.js or WhittyScroll.js you're out.

    Browsing 20+ sites from designers truly is a hell. So, nowadays, I simply ask them to email me the resumes.

    Because I too realise that a good webdeveloper or designer is hired most of the time. And as such, won't have time to redesign his or her site after every new change of technology. I can understand if your site looks like it was from 2008, if you've been hired and busy since 2008, it's actually a good sign.

    But really. Don't make me think. Ever.
u/jbabrams2 · 37 pointsr/UXDesign

Sure!

​

I think two classic books to start with is

  1. Design of Everyday Things (https://www.amazon.com/Design-Everyday-Things-Revised-Expanded-ebook/dp/B00E257T6C/) and
  2. Don't Make Me Think (https://www.amazon.com/Dont-Make-Think-Revisited-Usability-ebook/dp/B00HJUBRPG).

    ​

    Then I would move onto IDEO's Creative Confidence (https://www.amazon.com/Creative-Confidence-Unleashing-Potential-Within-ebook/dp/B00CGI3DWQ), which documents tons of different UX methods. Also, I haven't read it, but I've heard that Lean UX is a great book (https://www.amazon.com/Lean-UX-Designing-Great-Products-ebook/dp/B01LYGQ6CH).

    ​

    Oh and to learn HTML, CSS, and JS (if you don't know them already), these are AMAZING reads: https://www.amazon.com/Web-Design-HTML-JavaScript-jQuery/dp/1118907442/ref=sr_1_3?crid=1QXNLBZ2V6GL8&keywords=learn+html+css+javascript&qid=1558328362&s=gateway&sprefix=learn+html+css+ja%2Caps%2C-1&sr=8-3

    ​

    With that said, I know books are a big commitment so here's a random assortment of UX articles I've bookmarked over the years to get you started (some may be a little old but should still hold up from a process standpoint):

  3. https://uxplanet.org/user-experience-design-process-d91df1a45916
  4. https://uxplanet.org/ux-is-process-actionable-user-insight-9c17107887bd
  5. https://uxplanet.org/ux-is-process-designing-from-a-creative-brief-62f8588cb6f2
  6. https://www.interaction-design.org/literature/article/task-analysis-a-ux-designer-s-best-friend
  7. https://uxmastery.com/how-to-write-screeners-for-better-ux-research-results/
  8. https://library.gv.com/get-better-data-from-user-studies-16-interviewing-tips-328d305c3e37?gi=82762a521a6
  9. https://www.nngroup.com/articles/diary-studies/
  10. https://uxdesign.cc/6-storytelling-principles-to-improve-your-ux-737f0fc34261
  11. https://www.usertesting.com/blog/storytelling-in-ux/
  12. https://www.nngroup.com/articles/interviewing-users/
  13. https://medium.com/user-research/never-ask-what-they-want-3-better-questions-to-ask-in-user-interviews-aeddd2a2101e
  14. https://www.smashingmagazine.com/2010/01/better-user-experience-using-storytelling-part-one/
  15. https://www.bitovi.com/blog/10-best-practices-usability-testing-within-agile-teams
  16. https://www.nngroup.com/articles/microsoft-desirability-toolkit/
  17. https://www.nngroup.com/articles/desirability-reaction-words/
  18. https://lean-product-design.18f.gov/3-identify-assumptions/
  19. https://lean-product-design.18f.gov/index.html
  20. https://www.justinmind.com/blog/interaction-design-frameworks-do-you-need-one/
  21. https://medium.com/ruxers/building-block-design-a-modular-design-strategy-for-uxers-927f63eec90c

    ​

    There's a lot more where that came from, so let me know if you get through that and are craving more material.

    ​

    Here are a couple videos as well:

  22. https://vimeo.com/7099570?utm_source=gdev-yt&utm_medium=video&utm_term=&utm_content=conductingresearch&utm_campaign=firstthingsfirst
  23. This is a youtuber I follow who can teach you everything you need to know to get started in the design space (though she heavily focuses on digital design): https://www.youtube.com/user/charlimarieTV

    ​

    Finally, here's a very very short article I wrote myself that provides a quick intro into human centered design: http://www.jdktech.com/human-centered-design/

    ​

    As you dive into this, note that user interface design and user experience design are different things--although they overlap and rely on each other in various ways. You can be a user interface designer (in which case I would recommend different reads), a user experience designer, or both. I'm a full stack designer, which means I specialize in all sides of the product life cycle, including research, validation, design, product management and development.

    ​

    Hope this helps! Let me know if you have any other questions!
u/joemi · 31 pointsr/ruby

I might not be the best person to answer this for you, since I learned Ruby after I already knew programming in general (JS, Python, C, Java) so learning Ruby for me was more about figuring out the Ruby way of doing things than learning how to program. But these are some resources I see recommended a lot that appeal to me:

  • Why's (Poignant) Guide To Ruby (free online book -- a whimsical illustrated intro to Ruby basics -- you might already know some/most of this, but it might still be a fun read)
  • Learn Ruby The Hard Way (free online book, I think? -- a less whimsical intro that goes a bit deeper than Why's guide)
  • Practical Object-Oriented Design in Ruby by Sandi Metz (non-free book, also available as an ebook maybe? -- for when you want to get deeper into Ruby beyond basics and start thinking about programming patterns and program design)
  • Ruby's Core API documentation (you can learn a lot about Ruby just from the documentation of its own modules and classes and methods)

    I've been meaning to read Sandi Metz's book since I've watch some talks she's given and they've been very informative. And searching/browsing/reading the Ruby documentation is something I end up doing almost every day, whenever I'm programming. It's a good reference if you can't quite remember the name of a method, and it's also great to click the "click to toggle source" link so you can see how Ruby's own methods are defined. Some of the most basic and important methods are going to be in C, but a lot of the methods (especially in the std-lib) are themselves written in Ruby, and the C is often simple enough to understand what it's doing if you understand Ruby but don't have any experience with C.
u/Leave-A-Note · 29 pointsr/web_design

It's not a long book, but it is all about usability. It's called "Don't Make Me Think". It's informative and concise.

That Amazon Link: https://www.amazon.com/dp/0321965515/ref=cm_sw_r_cp_api_5Ohuzb82F6BEF

u/cutestain · 27 pointsr/Entrepreneur

My advice is to follow 3 tracks.

  • Build relationships. Find local meetings where people building products/companies or other designers go. Such as: 1 Million Cups, Open coffee club, Creative Mornings, CoFounders Lab, StartUp Grind, local UX meetups. Pick 1 weekly and go every week. Pick 1-2 others, go when you can. Talk to the people who run the group. See if they need any help checking people. Volunteer to do that. If you get to, be friendly and chat with people on the way in. This is your tribe. Don't feel like you don't belong b/c you are young or are checking them in (or whatever other excuse your mind might come up with). This is your opportunity to find out about what people are working on. Some people will be working on something that interests you, that you have the skills to help with (eventually if not now), and have a personality you could enjoy working with. Give 100% of these people your card. Tell them you do UI/UX on contract. Ask for their card. Talk to them more at the end of the meeting if you can. Not in a sales way. But in a get to know more about them way. Then follow up with an email shortly afterward, a few days to a week. And in 6 months again if you haven't connected since. Do this every week for 2-3 years and you will have your client base and reputation in town. If you need practice to feel confident doing the networking part, then practice. Your career counseling dept at college could probably help you practice. Friends can be good practice too. Comfort with networking is critical to running your own business. Your goal should be to eventually lead a recurring meeting.

  • Build your skills. First college is great for learning some things. I believe it is terrible for learning UI/UX. Studying behavioral economics would probably be the most applicable, some psychology or data science as well. UI/UX moves too fast. But here are my recommendations for becoming good at UI/UX quickly:

  1. Start using Sketch app by Bohemian coding. It is the current industry standard.

  2. Sign up for Subform app wait list. It will probably be the next industry standard. But is not available yet.

  3. Study design systems Practice using these elements to create screens. Download the Sketch file. Then grab the elements you need and create screens to build an app (preferably to solve a simple problem you care about). Start small. Practice designing quickly. Then go back and make details precise. Eventually you should be able to build your own design system like this.

  4. Study material design and iOS design.

  5. For inspiration in practice, look at examples on Dribbble, Behance, and at the apps you use everyday.

  6. Get feedback from friends and family on the things you have designed.

  7. Read books like Inspired, Seductive Interaction Design, Sprint, Product Leadership. There are many more.

  8. Understand you need to know more than design to do contract work for small businesses. Your clients may often ask for one thing but really need something different. Study business in general. Read books and magazines about business models, industry shifts, etc. Good UX designers are always balancing user needs and business model needs. There is no formula for this. It takes practice. Lots of practice. Youth and inexperience here will be a challenge. Talk to as many people in their 30s/40+s about business lessons they have learned as you can. This knowledge will help your design.

  9. Don't wait for the perfect idea to practice. Practice everyday.

  • Build your savings. So you can go full-time at a co-working space. This is less direct advice. But you will need to have a few months of living expenses saved so one day you can dive in. A co-working space costs a few hundred per month but this is where your client base likely lives or goes to meetings occasionally. Being part of one shows you have a professional presence. And the serendipity at these places can be off the charts. And I highly recommend not working form home only for many reasons, sanity being an important one. Also, contract work can be feast or famine. I have had a handful of weeks in the past 4 years where I have needed to complete 60 billable hours work. This is more stressful than the weeks where I only have 20 billable hours b/c I save knowing work will be up and down.

    ----

    These are things that led me to where I am today. Others may have completely different or contradictory advice. But these are my go to methods. And most of my clients in the past 2 years have come to me. I didn't call them, or post an ad. Generally they found me through a recommendation from a friend, LinkedIn, Twitter, slack group, Dribbble, or at a meeting.
u/uhkhu · 11 pointsr/learnpython

Pandas is a well-known library for data analysis. Very good tutorial.

Good book on Pandas

Good Udemy Course for Python

u/grandzooby · 11 pointsr/learnpython

This book, "Python for Data Analysis" is coming out in October on Amazon, but PDFs might be available directly from O'Reilley if you pre-order. It's by Wes McKinney, who was apparently involved with pandas and has a blog about doing quant analysis with Python:
http://blog.wesmckinney.com/

You might find what you're looking for in some of his stuff.

u/olifante · 10 pointsr/Python

"Python for Data Analysis" is pretty good. It's written by Wes McKinney, the creator of Pandas, so its focus is using Pandas for data analysis, but it does include sections on basic and advanced NumPy features: http://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793

Alternatively, the prolific Ivan Idris has written four books covering different aspects of NumPy, all published by Packt Publishing. I haven't read any of them, but the Amazon reviews seem OK:

u/dc_woods · 9 pointsr/web_design

As a person with no education beyond high school, take all that I say with a grain of salt. I'm a pretty successful web designer and front-end developer, having working with four startups and done a year of freelancing.

It is not uncommon to hear industry peers criticize the education system as it pertains to web design because often the practices you learn are no longer the standard or relevant. I've heard of many stories where designers exit college (with no working experience, obviously) and have an incredibly difficult time finding work for the reasons I listed above.

Education has never been brought up at any of the companies I've worked or those that I've consulted with. I believe the reason for this is that I have a body of work to show along with whatever reputation I've garnered on Dribbble, say.

All this being said, it is entirely possible for you to develop your skills on your own, such as I did, and find work. I'm happy to list all the reading materials that I own that helped me get where I am now. I'll list what I remember but I'll have to go check when I can get a second:

Hardboiled Web Design
HTML5 for Web Designers
CSS3 for Web Designers
The Elements of Content Strategy
Responsive Web Design
Designing for Emotion
Design is a Job
Mobile First
The Visual Display of Quantitative Information
The Elements of Typographic Style
Thinking with Type
The Icon Handbook
Don't Make Me Think

If you invest your money in those and actually read them, you will be well on your way. Feel free to ping me. Good luck!

u/LorenzoVonMatterhorn · 9 pointsr/chemistry

Mitchandre has an excellent point. This program is called an REU or Research Experience for Undergrads, and most professors will really love having an eager undergraduate for the summer to learn more. I am a computational chemist pursuing my PhD at Georgia Tech with Dr. Sherrill, and I know that we are looking for REU students every summer. I have previously worked with Dr. Robert Harrison at the University of Tennessee/Oak Ridge National Labs and he also has REU students most summers.
Here is the REU program: http://www.nsf.gov/funding/pgm_summ.jsp?pims_id=5517&from=fund
If you are just interested in learning some computational chemistry for yourself, a book that I have found to be extremely useful and basic enough to understand at any level is Introduction to Computational Chemistry by Frank Jensen: http://www.amazon.com/Introduction-Computational-Chemistry-Frank-Jensen/dp/0470011874/ref=sr_1_1?ie=UTF8&s=books&qid=1267759772&sr=8-1

If you really wanna try and get your feet wet, try applying for an REU with any professors you can contact, plus its a great way just to see a different part of the country for a summer! Good luck

u/cabbagerat · 9 pointsr/compsci

I'm assuming you are interested in designing schemas for relational databases, and not writing relational databases.

I really like CJ Date's SQL and Relational Theory and Database Design and Relational Theory. Use The Index, Luke is a nice site, too, with generally less formal information than Date's books, but more practical info about day-to-day problems.

If you'd like to dig under the covers, I'd start with Principles of Transaction Processing. Philip Bernstein knows what he is talking about, and is active in database research. Gray and Reuter's Transaction Processing is a classic, but is less approachable.

u/regexpressyourself · 9 pointsr/learnprogramming

I liked "Don't Make Me Think" for basic user experience and layout stuff. It's mostly about web design, but it can definitely apply elsewhere.

u/Architarious · 8 pointsr/web_design

You'd probably have better luck with this at /r/design_critiques

But, for now, there's a ton of spacing issues and bugs that come up when going between different viewports. (you're primary navigation only shows the first two links at mobile size) Also, your social media icons at the bottom appear to be skewed and could use more padding. If I was you I would go back and redesign for mobile-first. Maybe even look into using bootstrap

As far as basic visuals go, You're going a little heavy on all the jquery and animations. It's hard to focus on any one thing cause there's so many different things poping and bouncing around everywhere. In that respect it almost puts me in the mind of a geocities website(no-offense). Just because you can animate something doesn't mean you should.

Also, you have to click on the icons or arrows in order to read them. And whenever you do, there's no active state on the icons(or any navigational items) to tell me which subject the information is relating to. In web design, un-seen information is always un-read information. Not to mention that I have to scroll past the content to click on the icons (or secondary navigation).

This site doesn't have a ton of content, but for some reason it feels like there's no negative space. I'd say this is mostly due to the fact that your using so much grey. Since there's no real contrast between anything, there's no real negative space. Try making your background color white or super light grey like (#efefef) and see how that looks. This will also help you out accessibility wise, because people with astigmatisms sometimes have problems with contrast may not be able to read your main content at the current moment, no matter what it's size is.

You also want to look at how your currently using your colors and imagery. You need to step back and ask yourself what the functional purpose of everything that is taking up real-estate on the screen. Generally, when people only use one color like orange in a monotone grey pallet, they're utilizing it as an ambient signifier for a call to action (think about how colors change from station to station when you're on a subway). You want to use that color to tell people to "click here!" or "look at this and do something now!". Right now it draws my eye to the name and a selling point, but I have no idea what to do afterword. For reference, check out how these sites are using their accent colors: http://www.awwwards.com/websites/minimal/

TL:DR; In short, there's a ton of web and usability standards along with design principles that you're overlooking. I would advise getting a book like Steve Krug's - Don't Make Me Think and studying it. It's short and fast read and it will save you mountains of time, frustration, and wasted effort. Also, be sure to review that AWWARDS.com link above. Make a list of what you think they're doing right and what they're doing wrong.

Sorry, I hope that wasn't too harsh, I'm just trying to help and sometimes honesty can be brutal.

u/dustinin · 8 pointsr/Design
u/Lakerfan1994 · 8 pointsr/statistics

I would suggest getting some basic computing skills first. This book gives you a great grasp on data analysis in Python with statistical applications explored in the later part of the book. Read the whole thing through.

http://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793

u/amazon-converter-bot · 8 pointsr/FreeEBOOKS

Here are all the local Amazon links I could find:


amazon.com

amazon.ca

amazon.com.au

amazon.in

amazon.com.mx

amazon.de

amazon.it

amazon.es

amazon.com.br

amazon.nl

amazon.co.jp

amazon.fr

Beep bloop. I'm a bot to convert Amazon ebook links to local Amazon sites.
I currently look here: amazon.com, amazon.co.uk, amazon.ca, amazon.com.au, amazon.in, amazon.com.mx, amazon.de, amazon.it, amazon.es, amazon.com.br, amazon.nl, amazon.co.jp, amazon.fr, if you would like your local version of Amazon adding please contact my creator.

u/mstoiber · 7 pointsr/web_design

I'd start learning more about design and design theory.

Start with The Principles of Beautiful Web Design to get an introduction to Web Design, go on to Elements of Style to learn more about typography and finish with Don't make me think and Above The Fold to get started with User Experience.

u/Fiend · 6 pointsr/ruby

Design Patterns In Ruby - Russ Olsen

u/Stubb · 6 pointsr/ruby

Read Principles of Object Oriented Design in Ruby. Quite a few things clicked for me when reading that book.

Programming in Ruby is also just fun, and when I get frustrated, the reason for that frustration inevitably turns out to be a pleasant surprise, as in there was a language construct that I didn't quite understand and that figuring out the solution unlocked a new way of doing things.

Also not sure how much programming you've done in other languages. In Java you inevitably run up against bone-headed decisions made by the designers to dumb-down the language. They were clearly designing Java for their intellectual inferiors.

Then go attempt to debug some C++ template errors. Dear gods what a mess that can become…

Python can't figure out where it wants to go with the v3 vs. v2.7 schism.

I'm a huge fan of Lisp, but the lack of libraries makes it difficult to use for many tasks. I see Ruby as giving me all the things that I love from Lisp along with access to a large selection of polished libraries.

u/xenilko · 6 pointsr/rubyonrails

Eloquent ruby ( http://eloquentruby.com/) and Practical Object Oriented Design by Sandi Metz ( http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330 ) are two solid books that I enjoyed a lot.

u/VancouverLogo · 6 pointsr/ruby

I strongly recommended The Well Grounded Rubyist

This gives you a great foundation, it's extremely well written and a nice reference to go back to.

I also recommend Practical Object Oriented Design in Ruby

This book is just amazing. If you're new to object oriented programming, and even if you have a bit of experience, this is going to improve your skills dramatically.

Good luck!

u/xashen · 6 pointsr/web_design

Don't Make Me Think is an excellent book on UX/UI design.

u/tech-ninja · 6 pointsr/ProgrammerHumor

Depends what you want to learn. Some of my favorites are

  • Code by Charles Petzold if you want to know how your computer works under the hood.

  • Peopleware if you want to learn how to manage knowledge workers.

  • Clean Code by Uncle Bob if you want to learn about good practices and program structure. Impressive content, covers much more than I expected.

  • Don't Make Me Think if you want to learn about usability.

  • Algorithms by Robert Sedgewick if you want to learn about DS & algorithms.

  • The Art of UNIX Programming by Eric S. Raymond if you want to learn about the unix philosophy. Lots of hidden gems in there. Have you ever heard: write programs that do one thing and do it well; don't tune for speed until you've measured; imagine all this knowledge distilled to you in one book.

    This a good list to get you started :) most of my favorite books are not language specific.
u/Wentzel142 · 6 pointsr/cscareerquestions

I'm just about to graduate with my undergrad in CS with a specialization in HCI, and have had multiple UX internships. Read these two books, they'll provide a really good baseline of knowledge about user-centric design.

The Design of Everyday Things - Don Norman

Don't Make Me Think - Steve Krug

While the second one typically focuses more on web, they're both amazing books that should be in the library of any UX/HCI specialist.

The best way to start building a portfolio is to, well, just do. Find anything (not just a program/app, even) that you don't like the design of, and start from there. Try and redesign it to make things easier to figure out. Show it to others to gauge reactions and get feedback. Iterate and improve.

There are a bajillion different programs for UI prototyping, but the first tool I'd suggest is good ol' pencil and paper. Get yourself a sketchbook and keep it in your backpack (or with you in some other capacity) at all times. When you have a design idea, drop everything, make a quick sketch, and go back to what you were doing. Ideas are fleeting and temporary, so it's best to get it on paper before you forget. Once you've got time, try and improve on those designs and think of what would work and what wouldn't. After you're happy (and have shown it to others for feedback), take it into some prototyping app like Balsamiq, Indigo Studio, or Sketch. Render it in high quality and start seeing how users would react to it in its natural setting (put it on a phone, or on a computer, etc. for testing). It's all about getting user feedback because one person on one computer may not have all the right ideas.

tl;dr: Read books. Redesign crappy things. GET A SKETCHBOOK. Feedback, feedback, feedback.

u/Wayne_Enterprises_ · 6 pointsr/userexperience

This should get you started :)

Books:

u/astrokeat · 6 pointsr/learnpython

I recommend Python for Data Analysis (Holy shit! That's the title of your post!). It's written by the author of Pandas and I have found it incredibly straightforward and helpful.

u/mrempyrean · 6 pointsr/userexperience

A great portfolio and github profile can be worth more than a degree in many cases. The degree can help get you in the door for your first few jobs, but definitely is not required. Show off your side projects. Show off your code. All your web projects should have readable HTML, CSS, and Javascript (I should be able to right click, view source, and see what you wrote).

You're pretty much guaranteed a front-end web job if you have great skills with one of the big front-end js frameworks right now: angular, react, etc...

Some jobs to look out for: Front-end developer, UX Developer, UX Prototyper. Front-End dev is such a valuable position, some companies don't know how much they're needed. UX Developer -- who knows what they mean by this... UX Prototyper -- usually someone who focuses on front-end interactions, generally hands off to a core development team.

Lastly, it'd be great to have some core "UX" skills. Steve Krug's Don't Make Me Think is a great intro. Pick up a wireframing tool like Balsamiq or Axure and learn to wireframe before you implement. (As a UX dev though, hopefully the design team hands off wireframes to you, or involves you in the design process)

u/pablostanley · 5 pointsr/UI_Design

Don't Make Me Think is an old-but-gold one :)

u/echoeightythree · 5 pointsr/Frontend

Start with the book "Don't Make Me Think" (the latest edition) and Google's Material Design. They're good introduction to visual design for digital interfaces. Then learn basic design foundation theories, these are things that all type of designers need to know. Learn the tools designers use such as photoshop (or Sketch), Illustrator, Axure, etc. Then find projects to practice on and get designers to critique your work as much as you can. Designing "in a way that is pleasing to the human eye" is something you learn through trial and error.

I'm the opposite of you. I'm a designer who wants to get better at front end coding (html/css/javascript). I will review and critique your designs, if you are willing to do the same for my code. PM me if you want partner up. This offer is also open to any coders out there, by the way.

u/elitelimfish · 5 pointsr/FinancialCareers
  1. WSO is a great place to see other people's questions on this stuff so you might want to check that out.

  2. Starting pay at an okay shop should land you at least $150k but good shops will be north of $200k (Citadel, DE Shaw, Two Sigma, etc.) Quant salaries vary greatly, however the upside is practically unlimited. Not sure about other firms but at Citadel they generally don't go above 60/week.

  3. Spend some time looking at the applications for places/roles you're interested in as they will be rather specific on qualifications and background.

  4. I'm assuming you are looking to be a Quant Researcher which is where the real work is done. Many places will look at your thesis and go hardcore on poking holes in it so be ready to defend it. Your ability to research and possibly implement solutions is what they're looking for here.

  5. HFT quant work generally utilizes C++ for execution of a strategy as it runs fastest. Python and R is useful for research and analysis. In this area I'd recommend reading This Book written by a former AQR quant.

    Also I've heard good things about this book This Book. But haven't gone through it myself.

  6. Jobs are pretty stable as long as you are good at what you do. Good quant divisions will have phenomenal returns and the employees will have a good work/life balance.

  7. Location-wise NYC is naturally the best place, however Chicago would be your #2 bet.
u/uwjames · 5 pointsr/datascience

There is a LOT you can learn. It can be very bewildering. Here are some links that should help you get started. There are a lot of other posts in this sub with good tips so you should browse a bit.

https://www.reddit.com/r/datascience/comments/7ou6qq/career_data_science_learning_path/

https://www.dataquest.io/blog/why-sql-is-the-most-important-language-to-learn/

https://www.becomingadatascientist.com/2016/08/13/podcast-episodes-0-3/

https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793

Sooner or later you'll want to start tackling some projects. That's basically where I am now in the process. I'm at the point where I know enough about Python, Statistics, and SQL to integrate some skills and hopefully do something interesting.

Best advice I can give you is

  1. Keep moving forward even if the task is daunting.

  2. Try to code for at least an hour every day
u/alex_drahon · 5 pointsr/programming

You should first read "Transaction Processing, Concepts and Techniques" http://www.amazon.com/Transaction-Processing-Concepts-Techniques-Management/dp/1558601902/

There's also Michael Stonebraker's "Red Book"

After that, a lot of resources available on the Web... and source code of course.

u/theboxingfox · 5 pointsr/C_Programming

>A typical use case would be to show the interractions between water molecules, or the solvation of amino acids. Not to compute the bond angles in organoruthenium catalysts :)

A teaching tool would be interesting. The GUI would obviously be the most important part of such an application however. Look at Avogadro for a FOSS MD platform that is closest to your current target.

> I don't want to brag, but I did it all myself. No papers. SENPAI started as a project of mine to study Newtonian mechanics two years ago (I'm still an undergrad). I hadn't heard of the N-body problem or anything yet.

Good for you, that's quite the feat. I would strongly recommend reading Giordano and Nakanishi, specifically the chapter on MD. It's a good undergraduate introduction to computational science (not just physics). Looking at my copy there are 15 good references, one in particular is Heermann's Computer simulation methods in theoretical physics. Chase the references and you can get a flavour for the topic at a research level. Your school will very likely have a copy of both the books I mentioned.

> That... is true, relocating particles is probably very ressource-intensive (especially when computing bond angles...). I'll look into it, it definitely is an easy way to speed things up.

I'd safely assume it's ~90%+ of your computational time. Look into perf for profiling your program to find the hot code. A good rule for optimization is measure a dozen times optimize once, then measure again.

Keep us updated. Good luck with everything!

u/SoBoredAtWork · 5 pointsr/web_design

I just got done reading the Non-Designer's Design Book and it has helped a LOT to learn basic design principles. The author also has one about the web but I haven't checked it out yet. Good luck!

u/abashinyan · 5 pointsr/ruby

Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series)

www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330/ref=sr_1_6?ie=UTF8&qid=1398842637&sr=8-6&keywords=ruby#reader_0321721330

Eloquent Ruby

http://www.amazon.com/Eloquent-Ruby-Addison-Wesley-Professional-Series/dp/0321584104/ref=sr_1_9?ie=UTF8&qid=1398842637&sr=8-9&keywords=ruby

Metaprogramming Ruby: Program Like the Ruby Pros

http://www.amazon.com/Metaprogramming-Ruby-Program-Like-Pros/dp/1934356476/ref=pd_rhf_se_s_cp_6_BXWQ?ie=UTF8&refRID=02JTWKY2ZDHPVZWX181R

u/farmerje · 5 pointsr/learnprogramming

I recommend Practical Object-Oriented Design in Ruby (aka POODR) and Eloquent Ruby.

I'm expert at C, Ruby, and Python, so if you post code examples of Ruby code you feel isn't idiomatic to gist.github.com I'm happy to take a look and offer feedback. I co-founded Dev Bootcamp, so I'm also familiar with the bumps along the way folks have when learning Ruby, even (and sometimes especially) if they're coming from another language.

The main thing to understand about Ruby is that everything is an object. To wit,

Foo = Class.new
foo = Foo.new
puts foo.object_id

Particular classes are instances of the class "Class," if you can wrap your head around that. Objects talk to each other by passing messages around, i.e., methods. In fact, you can define methods on individual objects (although nobody ever does this):

name = "Jesse"
def name.bark!
puts "woof woof"
end
name.bark!

But this is what's happening when you see code like

class Foo
def self.bark!
puts "woof woof"
end
end

The "self.bark!" sometimes seems like arbitrary syntax used to define class methods (or static methods as they're called in some OOP languages), especially to people coming from Java where you have these seemingly-magical keyword preludes. In Ruby you just define methods on objects, period. Classes are objects, too, and "def self.whatever" is the same as "def Foo.whatever". There's a nice nod to referential transparency there that you don't see in many OOP languages.

Every method is defined on some object, even "global" methods. Exercise: when you define a global method in Ruby what object does it get defined on?

When you need higher-order functions Ruby uses blocks, which are more like functions in JavaScript than lambdas in Python (e.g., they can contain arbitrary code, not just a single expression).

If you understand those three things -- everything is an object, objects communicate via messages called "methods", higher-order functions can be defined using blocks -- you understand about 95% of how Ruby thinks about the world.

I'll add, just because you're a C guy, Ruby "pretends" it doesn't really have a class/object distinction, but the default Ruby interpreter (MRI or sometimes CRuby) does actually have separate structs for classes and objects. It's really a language-level thing.

u/partybusiness · 5 pointsr/gamedev

I have a web-dev background, so my influences often come from that rather than game-specific stuff.

About Face: https://www.amazon.ca/About-Face-Essentials-Interface-Design/dp/1568843224

The Visual Display of Quantitative Information: https://www.edwardtufte.com/tufte/books_vdqi

Don't Make Me Think: https://www.amazon.ca/Dont-Make-Think-Revisited-Usability/dp/0321965515/

u/MarcMurray92 · 5 pointsr/webdev

Don't Make Me Think by Steve Krug is basically a must read.

This blog post - 7 tips for creating gorgeous UI is a great primer, with lots to think about presented as a few tips focused on aesthetics.

This blog - The Nilsen Norman Group is a great resource for the "functional" end of things, full of tips and research results on what people find the easiest and most enjoyable to use.

u/Lavender_poop · 5 pointsr/marketing

I have a few, not all specifically about marketing but related to business, growth, customer experience, etc.

u/catatafishh · 5 pointsr/Dirtybomb

Ah, it seems we have just filled those positions! Apologies to get your hopes up, that was bad timing. We will need more UI designers later this year - most likely in late Summer. Perhaps this is better suited for you anyway so you have time to prepare an application!

Adobe XD is a must - the fastest "basic" prototyping I've ever experienced. I've pushed it's use through our studio and it's producing awesome results (at least till InVision Studio comes out!). After Effects is optional but an invaluable tool for communicating bespoke animations for the programmers.

Really, as long as you can apply good UX practices to your designs, consider different player experiences at all stages, and can create something awesome in XD / Photoshop / Illustrator that is enough.

Some relevant books from the top of my head:

u/abd1tus · 5 pointsr/webdev

Some resources to look into:

  • Good UI
  • Material Design
  • Material UI
  • Bootstrap
  • Don't Make Me Think Revisited

    To get started quickly and especially in the absence of a style guide, don't try to come up with with novel designs on your own at first. Look at existing resources available and use them as a starting point. A good exercise would be to go to the the material ui or bootstrap site and put together some
    pages using thier existing components (especially paper, cards, and nav bars) and blend together their examples.

u/sylvan · 4 pointsr/web_design

According to most salary surveys I've seen, you'd be looking at a step down. Unless you really hate coding and feel you aren't suited for it, from a practical career perspective, you're better off focussing on programming rather than visual design. Java/PHP/Ruby/Python coders will fetch more than webmonkeys.

That said, if you're working in web development, of course you should have a solid understanding of how html and css work, and have a foundation in layout & design.

I cannot recommend Robin Williams' (no, not the comedian) Non-Designer's Design Book enough. Also take a look at her Non-Designer's Web Book, Non-Designer's Type Book and Web Design Workshop.

Also get Jakob Nielsen's Designing Web Usability.

A List Apart is fantastic for techniques & ideas. Add Smashing Magazine to your RSS for visual design ideas & trends. Jakob Nielsen's site is also worthwhile (don't let the ugly design fool you, the articles are great).


u/postmodern · 4 pointsr/ruby

The resources everyone else mentioned are all good ones. Since you already know Java, Data Structures and OOP, I'd recommend Sandy Metz's Practical Object Orientated Design In Ruby. POODR will help you bridge the gap between your Java OOP knowledge and Ruby.

u/DBA_HAH · 4 pointsr/cscareerquestions

I've never used Django so I'm making some assumption here based on my Rails experience. Their feedback is pretty good.

  1. You're not using inheritance in obvious places like a WeightedItem and a UnitItem should be children of a parent Item class (or some other better named class). I would put all similar methods in the parent class (item name, description) and then the business logic for calculating the price can go in the children classes. It's possible they wanted the Item class here to be abstract (so you will never have an Item object, only items of the subclasses).
  2. The Promotion and Coupons implementation feels odd to me, maybe someone else can comment on it though. I've never designed a checkout app so I haven't really thought about it but it seems that there must be a better way to handle this.
  3. They are correct in that your controller/views should not handle much business logic at all, controllers are just for using the parameters from your views and the data from your models to route what gets show to the user, what gets stored in the backend, etc. If you're putting business logic in a controller that's usually a sign that you need another model.

    ​

    cart_items = CartItem.objects.all()
    total = cart_items.aggregate(Sum('price'))['pricesum'] or 0
    coupons = Coupon.objects.filter(total_spending_threshold
    lt=total)

    Apply coupon if necessary

    if request.method == 'POST' and request.POST.get('coupon', '') != '':
    total -= Coupon.objects.get(pk=request.POST['coupon']).discount

    All of this should certainly be in a model. You might want a Cart model that holds Items. The Cart would then have a method you call total_price that would do the calculation inside that model and the controller would simply access that data.

    A Cart could also hold coupons and discounts too in whatever implementation they end up being.

    I would rework this controller quite a bit, I would create new routes so you have a `cart' controller with a 'reset' route separate from the 'checkout' route, no need to send those requests to the same controller action and use an IF statement to determine where to send it.

    So really your checkout action should basically be

    context = {
    'items': cart.items,
    'total': cart.total_price,
    'discounts': cart.discounts
    }

    return render(request, 'checkout/index.html', context)

    Having an action 'unitItems' that sits under the route 'checkout/unit_items.html' that isn't used for actually checking out is a bad design choice. If this view is used to view an individual item, just have it be its own path like '/items/item_description' or whatever.

    Same goes for 'addUnitItemToCartItems', this should just be a simple 'Cart.addItem(item)' line of code in your controller and then all the business logic goes in your Cart class. You could either return an error from that method or have something like Cart.errors that you check after (not sure what the best practice is in Django).

    Also you'll see the advantage of designing everything the way I told you is you will only need a single "addItemToCart" action and only a single "viewItem" action, no need to duplicate your code to handle for weighed/unit priced items. Any of those logical differences will occur in the classes which won't matter to the controller because they will all share the same interface that they inherit from the abstract parent Item class.

    My advice to you would be to get this book Design Patterns Explained. It's a bit expensive and "old", but the design patterns in it are timeless and get you thinking in the right way for OOP design. Another book that was hugely beneficial for me was Practical Object-Oriented Design in Ruby, but if you're focusing on Python maybe you can find something similar in that realm.

    My biggest tips for you would be 1. if you're repeating code like you did several times in your unitItems vs weighedItems implementation, then it's time to stop and figure out how you can DRY it up (Don't Repeat Yourself) 2. Models are for business logic, views/helpers are for display, models are for business logic.

u/j-dev · 4 pointsr/learnprogramming

There are books out there, many of which are unfortunately not language agnostic, that deal with this. What you want to know is the basics of object oriented design and, most importantly, design patterns, which are general answers for recurring object-oriented design challenges. You may have to dabble into languages other than the one(s) you currently use in order to follow along.

u/iamktothed · 4 pointsr/Design

Interaction Design

u/davidNerdly · 4 pointsr/web_design

Just some I like:

Dev


  • [You Don't Know Javascript (series)(]https://github.com/getify/You-Dont-Know-JS). Short and sweet mostly. Well written. Some are still pending publishing but there are a couple available now. I believe you can read them for free online, I just like paper books and wanted to show some support.

  • Elequent Javascript (second release coming in november). Current version here if you are impatient. I have not personally read it yet, waiting for the next revision. I recommend it due to the high regard it has in the web community.

  • Professional JavaScript for Web Developers. Sometimes called the bible of js. Big ole book. I have not read it through and through, but have enjoyed the parts I have perused.

    Design


    (I am weak in the design side, so take these recommendation with a grain of salt. I recommend them off of overall industry cred they receive and my own personal taste for them.)

  • The Elements of Typographic Style. Low level detail into the art and science behind typography.

  • Don't Make Me Think, Revisited. I read the original, not the new one that I linked. It is an easy read (morning commute on the train was perfect for it) and covers UX stuff in a very easy to understand way. My non-designer brain really appreciated it.

    below are books I have not read but our generally recommended to people asking this question

  • About Face.

  • The Design of Everyday Things.

  • The Inmates Are Running the Asylum.


    You can see a lot of these are theory based. My 0.02 is that books are good for theory, blogs are good for up to date ways of doing things and tutorial type stuff.

    Hope this helps!


    Battery is about to die so no formatting for you! I'll add note later if I remember.

    EDIT: another real quick.

    EDIT2: Eh, wound up on my computer. Added formatting and some context. Also added more links because I am procrastinating my actual work I have to do (picking icons for buttons is so hard, I never know what icon accurately represents whatever context I am trying to fill).
u/whitesooty · 4 pointsr/italy

Ecco la mia lista/elenco disordinato.

Mi piacerebbe spiegare il perché su ogni libro letto ma sarebbe troppo lungo. Se sei interessato ad un feedback in particolare, fammi sapere in un commento.

In generale: in questo periodo si trova molta letteratura; io consiglio i classici, perché in giro c'è molta bullshit e ho elencato anche tutta una serie di libri per acquisire conoscenza su skills complementari (es. negoziazione, persuasione).

Ho elencato i libri di Codice Edizioni a parte perché uno dei pochi editori che pubblica saggi su argomenti contemporanei come tecnologia e media.

Una parola in più la spendo per i libri di Mari e Munari: sono dei classici che vanno letti. Punto.

LIBRI

UX

u/milky_donut · 4 pointsr/web_design

Aside from making things look nice they also have to function well too. Design should go hand-in-hand with user experience. I suggest reading the book Don't Make Me Think to get an understanding of why things are laid out. You can have a nice website but if it doesn't function well your users will opt out in coming back.

Start going to your other favorite websites and find what they have in common and what's different and keep notes that you could back to and reference; you'll start to notice a common theme in layout. There's Behance, Awwwards, Dribbble (though don't take too much away from here), Smashing Magazine, A List Apart, and more.

Learn color theory and typography -- I suggest Thinking with Type. Like another user said: draw inspiration not only from web design, but take inspiration from other sources.

u/rafaelspecta · 4 pointsr/smallbusiness

MORE PRODUCT-ORIENTED BOOKS

"Inspired: How To Create Products Customers Love" (Marty Cagan) - 2008

https://www.amazon.com/Inspired-Create-Products-Customers-Love/dp/0981690408

"Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers" (Geoffrey A. Moore) - 1991/1999/2014

https://www.amazon.com/dp/B000FC119W/

Don't Make me Think (Steve Krug)

https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515

Strategize: Product Strategy and Product Roadmap Practices for the Digital Age (Roman Pichler) - 2016

https://www.amazon.com/Strategize-Product-Strategy-Roadmap-Practices/dp/0993499201

u/CSMastermind · 4 pointsr/learnprogramming

I've posted this before but I'll repost it here:

Now in terms of the question that you ask in the title - this is what I recommend:

Job Interview Prep


  1. Cracking the Coding Interview: 189 Programming Questions and Solutions
  2. Programming Interviews Exposed: Coding Your Way Through the Interview
  3. Introduction to Algorithms
  4. The Algorithm Design Manual
  5. Effective Java
  6. Concurrent Programming in Java™: Design Principles and Pattern
  7. Modern Operating Systems
  8. Programming Pearls
  9. Discrete Mathematics for Computer Scientists

    Junior Software Engineer Reading List


    Read This First


  10. Pragmatic Thinking and Learning: Refactor Your Wetware

    Fundementals


  11. Code Complete: A Practical Handbook of Software Construction
  12. Software Estimation: Demystifying the Black Art
  13. Software Engineering: A Practitioner's Approach
  14. Refactoring: Improving the Design of Existing Code
  15. Coder to Developer: Tools and Strategies for Delivering Your Software
  16. Perfect Software: And Other Illusions about Testing
  17. Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application

    Understanding Professional Software Environments


  18. Agile Software Development: The Cooperative Game
  19. Software Project Survival Guide
  20. The Best Software Writing I: Selected and Introduced by Joel Spolsky
  21. Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
  22. Rapid Development: Taming Wild Software Schedules
  23. Peopleware: Productive Projects and Teams

    Mentality


  24. Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
  25. Against Method
  26. The Passionate Programmer: Creating a Remarkable Career in Software Development

    History


  27. The Mythical Man-Month: Essays on Software Engineering
  28. Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed
  29. The Deadline: A Novel About Project Management

    Mid Level Software Engineer Reading List


    Read This First


  30. Personal Development for Smart People: The Conscious Pursuit of Personal Growth

    Fundementals


  31. The Clean Coder: A Code of Conduct for Professional Programmers
  32. Clean Code: A Handbook of Agile Software Craftsmanship
  33. Solid Code
  34. Code Craft: The Practice of Writing Excellent Code
  35. Software Craftsmanship: The New Imperative
  36. Writing Solid Code

    Software Design


  37. Head First Design Patterns: A Brain-Friendly Guide
  38. Design Patterns: Elements of Reusable Object-Oriented Software
  39. Domain-Driven Design: Tackling Complexity in the Heart of Software
  40. Domain-Driven Design Distilled
  41. Design Patterns Explained: A New Perspective on Object-Oriented Design
  42. Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language.
  43. Refactoring to Patterns

    Software Engineering Skill Sets


  44. Building Microservices: Designing Fine-Grained Systems
  45. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
  46. NoEstimates: How To Measure Project Progress Without Estimating
  47. Object-Oriented Software Construction
  48. The Art of Software Testing
  49. Release It!: Design and Deploy Production-Ready Software
  50. Working Effectively with Legacy Code
  51. Test Driven Development: By Example

    Databases


  52. Database System Concepts
  53. Database Management Systems
  54. Foundation for Object / Relational Databases: The Third Manifesto
  55. Refactoring Databases: Evolutionary Database Design
  56. Data Access Patterns: Database Interactions in Object-Oriented Applications

    User Experience


  57. Don't Make Me Think: A Common Sense Approach to Web Usability
  58. The Design of Everyday Things
  59. Programming Collective Intelligence: Building Smart Web 2.0 Applications
  60. User Interface Design for Programmers
  61. GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos

    Mentality


  62. The Productive Programmer
  63. Extreme Programming Explained: Embrace Change
  64. Coders at Work: Reflections on the Craft of Programming
  65. Facts and Fallacies of Software Engineering

    History


  66. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
  67. New Turning Omnibus: 66 Excursions in Computer Science
  68. Hacker's Delight
  69. The Alchemist
  70. Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  71. The Information: A History, A Theory, A Flood

    Specialist Skills


    In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.

  72. Peter Norton's Assembly Language Book for the IBM PC
  73. Expert C Programming: Deep C Secrets
  74. Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming
  75. The C++ Programming Language
  76. Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  77. More Effective C++: 35 New Ways to Improve Your Programs and Designs
  78. More Effective C#: 50 Specific Ways to Improve Your C#
  79. CLR via C#
  80. Mr. Bunny's Big Cup o' Java
  81. Thinking in Java
  82. JUnit in Action
  83. Functional Programming in Scala
  84. The Art of Prolog: Advanced Programming Techniques
  85. The Craft of Prolog
  86. Programming Perl: Unmatched Power for Text Processing and Scripting
  87. Dive into Python 3
  88. why's (poignant) guide to Ruby
u/Swisst · 4 pointsr/design_critiques

Without going into a lot of details, I would really suggest taking some time to study design fundamentals. A lot of your work looks like it stems from quick experiments with filters and various online tutorials. A better understanding of type, space, hierarchy, etc. will take you far.

Books like Thinking with Type, [Don't Make Me Think] (http://amzn.com/0321965515), and Making and Breaking the Grid would be a great place to start. Buy those—or get them from a library—and read them cover to cover.

u/Citizen_of_Danksburg · 4 pointsr/math

A graph theory project! I just started today (it was assigned on Friday and this is when I selected my topic). I’m on spring break but next month I have to present a 15-20 minute lecture on graph automorphisms. I don’t necessarily have to, but I want to try and tie it in with some group theory since there is a mix of undergrads who the majority of them have seen some algebra before and probably bored PhD students/algebraists in my class, but I’m not sure where to start. Like, what would the binary operation be, composition of functions? What about the identity and inverse elements, what would those look like? In general, what would the elements of this group look like? What would the group isomorphism be? That means it’s a homomorphism with a bijective function. What would the homomorphism and bijective function look like? These are the questions I’m trying to get answers to.

Last semester I took a first course in Abstract Algebra and I’m currently taking a follow up course in Linear Algebra (I have the same professor for both algebra classes and my graph theory class). I’m curious if I can somehow also bring up some matrix representation theory stuff as that’s what we’re going over in my linear algebra class right now.

This is the textbook I’m using for my graph theory class: Graph Theory (Graduate Texts in Mathematics) https://www.amazon.com/dp/1846289696?ref=yo_pop_ma_swf

Here are the other graph theory books I got from my library and am using as references: Graph Theory (Graduate Texts in Mathematics) https://www.amazon.com/dp/3662536218?ref=yo_pop_ma_swf

Modern Graph Theory (Graduate Texts in Mathematics) https://www.amazon.com/dp/0387984887?ref=yo_pop_ma_swf

And for funsies, here is my linear algebra text: Linear Algebra, 4th Edition https://www.amazon.com/dp/0130084514?ref=yo_pop_ma_swf

But that’s what I’m working on! :)

And I certainly wouldn’t mind some pointers or ideas or things to investigate for this project! Like I said, I just started today (about 45 minutes ago) and am just trying to get some basic questions answered. From my preliminary investigating in my textbook, it seems a good example to work with in regards to a graph automorphism would be the Peterson Graph.

u/xperia3310 · 4 pointsr/web_design

Hey if you are starting to learn web design don't head towards random website and start learning randomly. Instead use books to properly grasp the concept and what web designing is all about.
If you are new to web designing don't read this book "HtmlandCssBook" which the user redditor3000 mentioned.

Start with this book instead --> Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics

After reading the very first chapter of that book most of the questions you asked should be answered.
Then I would suggest to read this book next - Learning PHP, MySQL, JavaScript, CSS & HTML5: A Step-by-Step Guide to Creating Dynamic Websites

u/ccc31807 · 4 pointsr/OMSA

I was in the same boat, with a history undergraduate major and limited math (although I picked up an MS in CS), working full time. My first semester I registered for 6040 and 8803 and had to drop 8803 because of the workload. Second semester I registered for 6501 and 6242 and had to drop 6242 because of the workload. You <might> be able to handle two courses, but GT has a lenient drop policy so the only downside is that you lose your money.

Standard advice: do your best to work through the following two books Before you start:

http://faculty.marshall.usc.edu/gareth-james/ISL/

https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793

u/Diet-Cocaine · 4 pointsr/datascience

Hi /r/datascience. I'm an aspiring data scientist and I'm trying to put together a data science course that's self-taught and can be done on one's time. Any pointers would be appreciated.

Section A: Foundations in Mathematics

u/d3vpsaux · 4 pointsr/gmu

Amazon has a 3 book kindle edition for free right now (you can use an app on mobile or your PC as well). I "purchased" it but haven't looked through it yet.

https://www.amazon.com/Python-Manuscripts-Programming-Beginners-Intermediates-ebook/dp/B07CQPHC1N/

u/markertheshark · 3 pointsr/web_design

I've recently read Don't Make Me Think by Steve Krug and it was pretty great

u/meowris · 3 pointsr/learnprogramming

Junior UX person here. Not much of a programmer myself, but it's sufficient for my needs, as I am only doing front-end design when I dabble with code. There is a multitude of ways to learn how to code, but generally speaking, I find that practicing in small repetition helps the best to retain and absorb information. When you are doing a small code example, try to rewrite differently and see how it works in each of those ways. I also recommend coming up with a small project that you can work on (design and putting a personal site live, for example), as opposed just doing the practices, that way you are presented with a real world environment that contains restrictions and possibilities.

Do you draw? It might help to learn how to draw well, which will help you illustrate designs and potentially become a fun hobby.

Some beginner level books I recommend:

u/Paiev · 3 pointsr/math

Perhaps Bollobas' Modern Graph Theory?

u/BanefulPanda · 3 pointsr/bioinformatics

OK, well since you already know what species you're interested in, your next step would probably be to choose a gene to use. So, take your organisms of interest and see what's available on GenBank for them. It looks like the choroplast rbcL gene might be a good choice - it seems to be a barcode gene and there are multiple specimens of Avicennia germinans and Rhizophora mangle available on genbank. Unfortunately, it doesn't look like anyone's sequenced Maytenus phyllanthoides yet, but there are some Maytenus segovarium rbcL sequences on GenBank, so that might be a good substitute. Another approach would be to search for papers on the phylogeny of eudicots and see what genes authors in your area use - it tends to vary among different organisms, but usually there will be one or two widely sequenced genes. You can also combine two or more genes together for a more robust phylogeny. At this stage, I would probably search for the gene name "rbcL" (sometimes people use different names for the same gene, but GenBank usually knows all the synonyms, to be safe though, you can try searching for alternate names also) and the group I'm interested in e.g. "eudicotyledons" (you might call this group something different, but GenBank's naming system is very conservative, and you've got to use the name GenBank recognises). Now, that seems to have turned up around 47,000 so this approach probably won't work very well here, but I'd normally just download everything and then trim off the ones I don't want later. Some of the results will be different specimens of the same species, some might not be the rbcL gene, or at least not the part of it I want. There might also be a mix of complete genes and partial genes, but this is OK. It looks like there's a lot of partial rbcL genes that are exactly 583 bp long - they're almost certainly the same section of the same gene. Some are a bit shorter (e.g. 549 bp)- that could be due to actual deletions in the sequence or the use of different primers by the people who sequenced it. It could also mean that it's a different section of the gene, but that's fairly unlikely and should be clear when it doesn't align to the sequences of the other species - or to a different section of any complete genes.

So, after you've chosen your species and your gene/s you need to start inferring phylogenies. For help with that, I'd suggest seeing if your library has a copy of Phylogenetic Trees Made Easy.

u/[deleted] · 3 pointsr/iOSProgramming

You're going to need to understand quite a few things to pull that off. If you can work through http://www.amazon.com/gp/aw/d/0321711394/ref=mp_bxgy_p_dp_y and http://www.amazon.com/gp/aw/d/143023024X and you'll be well on your way!

u/labpartnerincrime · 3 pointsr/neopets

Jobs:

I've just been in a depressive state for the past few days and probably at least the next 3 weeks. Joooooooobs.

Been reading Ask A Manager and even bought her ebook on sale. Going to redo my resume from scratch. There's a career fair in 3 weeks, but it's going to suck ass.

I filtered the list of employers down to Full Time Entry Level IT, not even restricting it to my degree. I've applied for ~80% of these places already and got flat out nos or never heard back.

The only one that's almost possible has a unique downside to it: they likely aren't going to hire me since I'm dating one of their interns. And since it's the school year and he's my ride, I'd have to request to be on his lighter schedule (30hrs, 20-25 during exams) and make up the difference remote or on weekends. And if he doesn't get kept on, I'd have to go 100% remote or resign if his personal schedule doesn't allow for him to keep being my ride. But I could see them not only not wanting to put up with that, but also thinking having a couple on staff would be drama, despite that we'd be different subgroups of IT and have worked together before. If I talk to them at the career fair, I'll just be referring to him as my ride, but it's not that hard to jump to "well, he's my guaranteed ride because we live together because we've been together in a sexual emotional fashion for a year and a half."

Meanwhile, I don't even have a "dream job", "dream company", or even "thing I'm good enough at to get paid for it". I have Career Match and Do What You Are, but meh. They tell me shit like Manager, but not what I'd need to be managing so I know what to apply for to work up.



Skill: Web development, hopefully with database integration as well. So far, I haven't found a textbook I think
really covers web dev, but I have Learning Web Design and this bitchin bookmark for whenever I'm actually in the mood to get started. I also have several ebooks on my Kindle to supplement it when I'm done with that one. I just really need something on my resume to get me hired... and supposedly I'm decent at web dev. I just need to get to a higher level than an intro course before anything would take me seriously, so I bought a web design book to maybe try making my own site sometime.



Kittens: Halloween costumes. They're probably both around 4lbs about now, though Iroh (sushi) is mostly fluff and Tyco (vampire) is mostly muscle. They have another appointment for the vet tomorrow for boosters, so then I'll know how chubby they're getting. Either way, they're bulkier and it's getting harder to pick them both up at the same time :P Especially when Tyco's trying to break free.


*

Neopets**: I restocked the Cove item and there's no buyers right now :P The only thing I have planned for the downtime is to do Kiko Pop data.

u/WhatEvery1sThinking · 3 pointsr/learnprogramming

I think for many, including myself, knowing where to start is difficult and overwhelming. There is just so much out there, and you don't want to make the mistake of going with something subpar and dedicating ten's of hours to something that will end up feeling like a waste.

I've just started myself and have this same issue. I've decided to start with codeacademy, then go through freecodecamp after that while also using a book, hopefully this combo works out for me

u/1istening · 3 pointsr/opendata

There's a great book about this! It goes over python basics and then goes in depth on Pandas, which is a python library used for data analysis.

I think if you've never used Python before it couldn't hurt to also find some general intro-to-python online tutorial to supplement it.

u/mapImbibery · 3 pointsr/learnpython

I wanna say that Wes mentions R in his book but I'm not sure. I know numpy and pandas are pretty dang fast though, it's the statistics that Python isn't so great with.

u/justphysics · 3 pointsr/Python

This question or a variant comes up nearly weekly.

I always try to respond, if one doesn't exist already, with a plug for the module 'Pandas'.

Pandas is a data analysis module for python with built in support for reading Excel files. Pandas is perfect for database style work where you are reading csv files, excel files, etc, and creating table like data sets.

If you have used the 'R' language the pandas DataFrame may look familiar.

Specifically look at the method read_excel: http://pandas.pydata.org/pandas-docs/dev/generated/pandas.io.excel.read_excel.html

main website: http://pandas.pydata.org/

book that I use frequently for a reference and examples: http://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793

u/will_riker · 3 pointsr/datasets

What kind of resources are you looking for: books, online tutorials, cheatsheets, other?

Is there a language or technology you are specifically using or looking at using?

If you are using R I would recommend parts of Hadley Wickham's "R for Data Science: Import, Tidy, Transform, Visualize, and Model Data". Specifically the chapters on Data Import, Transformation and Tidy Data.

If you have any specific questions feel free to ask.

The chapters in question available for free online:

https://r4ds.had.co.nz/data-import.html

https://r4ds.had.co.nz/transform.html

https://r4ds.had.co.nz/tidy-data.html

To buy a physical copy of the book:

https://www.amazon.com/Data-Science-Transform-Visualize-Model/dp/1491910399/ref=sr_1_1?crid=3EQZKAWKO7ZW9&keywords=r+for+data+science&qid=1574185159&sprefix=r+for+d%2Caps%2C232&sr=8-1

Edit:

Full github repository for book source code:

https://github.com/hadley/r4ds

u/SofaAssassin · 3 pointsr/cscareerquestions

GUI/UI/UX design is a specialized skill that not many developers can do (similarly, a lot of designers don't necessarily know how to design and craft code).

I've probably designed what something looked like a couple times in my career, but it's never been a real component of any of my jobs.

However, if it's something you want to get into, your school should have courses like Human-Computer Interaction, and there are plenty of resources to jump into and get your feet wet:

  • Don't Make Me Think by Steve Krug - this is one of the classics in web/ux design.
  • Rocket Surgery Made Easy also by Steve Krug - Tackling usability problems
  • /r/userexperience - The user experience subreddit
  • UX StackExchange - Stack Overflow for usability/UX
  • /r/web_design - The general web design subreddit
u/nosyrbllewe · 3 pointsr/humblebundles

Today I stumbled upon a free Kindle Python book set from Amazon here. Maybe it might interest you?

u/Marbi_ · 3 pointsr/Romania

pe https://www.reddit.com/r/FreeEBOOKS/ am vazut

mai erau cateva freebie legate chiar de python

u/UncontrolledManifold · 3 pointsr/Physics

Lots of computational physics books are done in pseudocode to appeal to a wide audience of coders.

My favorite so far is Nicholas Giordano's Computational Physics 2ed. If you look hard enough, you'll be able to find the 2ed for free as a PDF.

u/diarrheasyndrome · 3 pointsr/learnprogramming

I used this during my undergrad:

https://www.amazon.com/Computational-Physics-2nd-Nicholas-Giordano/dp/0131469908/

There's also this, that seems highly reviewed:

https://www.amazon.com/Computational-Physics-Mark-Newman/dp/1480145513/

The Giordano book probably requires a basic physics/math background (caluclus, linear algebra, classical mechanics, electricity/magnetism, basic quantum). Dunno about the other.

u/cmd-t · 3 pointsr/rails

What about Service-Oriented Design with Ruby and Rails?

Also, a lot of people think that they really need 'large-scale' or 'enterpricy' rails apps before ever running into scaling problems. If you don't need to handle thousands of requests per second right now then just build your app like you normally would and worry about scaling problems when they really start to appear.

u/CaptainKabob · 3 pointsr/ruby

I read it about 6 months ago and found it incredibly relevant despite actively working in Ruby 2.x. The syntax is still pretty modern, unlike, say, Why's pognant guide to Ruby.


I would read both Eloquent Ruby and Practical Object Oriented Design in Ruby which also covers the practical experience of working with Ruby. i.e. Eloquent Ruby tells you how to write good Ruby code, Practical OOD covers how to feel good doing it.

u/duggieawesome · 3 pointsr/ruby

Sounds like you want to grab the Pickaxe book. It's a tome, but it'll take you through the Ruby way of doing things. The Ruby Way is great and easily accessible, but I don't believe it's been updated for Ruby 2.0.

Lastly, you can always skim through the Ruby docs.

Edit: You should also check out POODR. Great way of learning how to refactor!

u/purephase · 3 pointsr/rails

I don't think you need it explained from a Rails point of view. Ruby is an OO language, and Rails simply exploits that.

You need to learn proper design patterns in Ruby (which apply to most OO languages). Sandi Metz's Practical Object-Oriented Design in Ruby is pretty much the gold standard for Ruby and very readable.

It's based heavily off of Martin's Agile Software Development, Principles, Patterns, and Practices.

After that, you can look into SOLID but, in Ruby-land, I think the single responsibility principal coupled with the rules laid out in Metz's book (summarized here) is a good place to start.

Also, it's worth noting that if you have good test coverage it makes re-factoring much, much easier.

Good luck!

u/attr_reader · 3 pointsr/ruby

Exercism.io is a great resource where you're able to use your problem solving skills while you level up your Ruby.

In addition, Basic Ruby. This is extremely basic, however, BR does a great job with the fundamentals of Ruby.

+1 on Ruby Monk. -1 on CodeAcademy.

I'd recommend Sandi Metz's Practical Object-Oriented Programming.

u/inflx · 3 pointsr/rails

I always see people jump into Rails before they get into Ruby. Or, worse, they think that Rails is a language.

The latter makes me barf. Specifically, the kid I interviewed who assured me that Rails was indeed a language.

http://learnxinyminutes.com/docs/ruby/ and then read POODR http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330

Then you should jump into Rails.

u/black-tie · 3 pointsr/Design

On typography:

u/squidboots · 3 pointsr/Etsy

Collections or Categories, it doesn't really matter - what matters is that A) you're consistent, and B) they are self-evident (clear). In other words, you need to endeavor so that a customer is not going to be surprised when they click on a section. Understand that a customer is always going to have some expectation when deciding to click on a category, and that expectation will range from something as straightforward as:

"I am looking for rings, so I am clicking on the 'Rings' section and I expect to see a bunch of rings"

to

"I see 'Tree of Life' and I know that nature-y things appeal to me, so when I click on 'Tree of Life' I expect to see things that are all clearly related to one another thematically in some way AND I can clearly see why this collection is called 'Tree of Life' through the general brand/theme conveyed by this collection of products."

Therefore, in the first example if a customer clicks on 'Rings' and sees some rings as well as bracelets and necklaces....that customer is surprised. Pretty straightforward. In the second example, if a customer clicks on 'Tree of Life' and sees a bunch of jewelry that really doesn't look like it's thematically tied together in some way AND/OR that jewelry is really not conveying the theme (maybe it's all industrial/steampunk stuff) - that customer is surprised. Surprise comes from when expectations are not met, and in this case customers being surprised will lead to disappointment and frustration. Having consistency and clarity will reduce customer confusion/frustration, and that will keep curious customers from bailing out of your store.

That said, as demonstrated above, it is generally much easier to be both consistent and self-evident with Categories, but that doesn't necessarily mean it is better. As you rightly point out, if you have a strong brand that resonates with your customers, the Collections approach can actually be a pretty powerful way to expose your products to your customer and snag sales you otherwise wouldn't have. It just takes a lot more work to maintain consistency and clarity with Collections because it depends on having strong, clear branding. With that in mind, I think if you go the Collections route you really, really, really need to be very careful and deliberate about it in order to maintain consistency and clarity - but if you do it right, you will go farrrrrr.

As an aside, I strongly recommend the book "Don't Make Me Think: A Common Sense Approach to Web Usability" by Steve Krug. It was originally intended to teach user experience and human-centered design principles to web designers, but honestly it's one of the best damn books out there for anyone trying to convey information of any kind on the internet. It's short and awesome and the world would be a better place if more people read it and practiced its principles.

u/CaptainMegaJuice · 3 pointsr/design_critiques

This site is completely unusable. Read "Don't Make Me Think" before ever making another website.

u/isperg · 3 pointsr/web_design

I have a few clients on retainer that share the same traits as your boss, and oddible is giving some salient points.

An organization I work with now had no process or standard operating procedures in place for anything tech or branding related. What brought the focus away from how the front-end looks like and on track with what and why, was asking foundational questions and getting stakeholders to think through why we're putting content there and the goals we're trying to achieve. Doing so brought everyone into the same boat and the reasoning for design decisions were recognized by the group; they needed to have insight and own the design decisions I already figured out. They were then open to the process of problem solving and being open to my recommendations for moving forward with achieving goals because they were right there with me during each step of the design process (whatever that is) and realized that my experience enables them to worry about the what and why and lets me figure out the how (including better design practices that get users to accomplish what your client wants them to, while addressing their business goals). I've written up documentation on how we handle branding, standard operating procedure for website related stuff, and helped a few other staff members re-write their job responsibilities within their contracts since I've gotten there.

For your boss, maybe you can stress the time inefficiency and cost he's incurring with the current method of edit requests. Even though you can make instant updates, doing so bit by bit is not as effective or timely as batch updates and it's probably sucking up your time's bandwidth with other tasks.

Sketches, even MSPaint, are mediums of information. Your boss sounds like he is communicating to you what he wants done, and you have to do it. Steering them towards problem solving and answering "what are we trying to accomplish here, on this page?" and proposing your recommendations may help change the type of feedback you're getting. If your boss is actively reducing the effectiveness and value of the experience of pages, you should communicate that to them and offer what you think should be done based on your experience and web standards and most importantly your reasoning behind why you recommend those options and the expected result from them.

Ultimately, if your boss keeps overriding you than you have to do what they tell you to do. You can try and put some process in place, but if you've already demonstrated that you can make an instant edit to someone who doesn't understand ux/webdev than you've opened a can of worms to someone who thinks you're a wizard that can do anything (regardless of the complexity) as fast as you've done other edits.

oddible's comment in regards to mockups "iterate, list assumptions they make, formulate hypotheses to validate, do research, compile and present data" seems to be addressing the process you're using and where mockups are within that process. Usually, a process (whatever that is) takes into account clients having dozens of minor edits by listing out the goals of the request, establishing the user groups who will interact with the experience, and the desired result; then creating a mockup of sorts to get feedback, then confirming before executing. If the client is requesting edits after the mockup is confirmed repeatedly, there's something wrong with your process; either the client isn't thinking through all the requirements of the request, you're not, or both of you are not.

As for raging anonymously on the internet: /s how dare someone point out possible useful criticism based on the information you provided. This shit is common to come across with clients, and shutting someone down who shows experience within their direct feedback to you is a selfish dick move; especially this "disrespect" nonsense. Get over it, don't take stuff personally because it's not an assault on you, web design is about the client's goals and needs not about you and how you feel about their design. Respect is earned with the amount of money your work/portfolio earns you and if you're hating your role now you'll despise working at a larger company with a senior webdev or ux role because it's filled with people like your boss everywhere, but processes are in place to avoid wasted time and micromanaging. The most successful IT professionals are likable, charismatic, and know how to get desired outcomes from social interactions; tech skill sets are secondary.

How to tell your boss to stop?
Here's a great book with strategies, tactics, methods, and tools for UX design that show you multiple processes to get from request to execution: https://www.amazon.com/Project-Guide-Design-experience-designers/dp/0321815386 maybe some processes in that book could help add a structure that prevents the current situation you're in now, and figure out how to iterate requests before you've already executed stuff.

How to tell your boss to stop directly? Give him this book and tell him that he needs to read it so he's speaking the same language you are: https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515

u/HadleyRay · 3 pointsr/web_design

Personally, I liked Learning Web Design 4th ed.. It gives you a nice overview of everything you're going to work with on the front-end.

Duckett's book is good and easy to read, but as far as learning, it didn't do it for me--you may be different.

You would also be well-served to learn some design theory. Don't Make Me Think is probably the penultimate in this area. Design for Hackers is also very good.

Learning jQuery is also a must. Code School has a great jQuery course.

Like /u/ijurachi said, a scripting language like PHP or Ruby on Rails would be a next step after that.

u/offwithyourtv · 3 pointsr/userexperience

This probably isn't the most helpful answer, but any resources I might have used to learn the fundamentals myself are probably pretty outdated now. Honestly I'd just try to find highly rated books on Amazon that are reasonably priced. I haven't read this one for psych research methods, but looking through the table of contents, it covers a lot of what I'd expect (ethics, validity and reliability, study design and common methods) and according to the reviews it's clear, concise, and has good stats info in the appendix. I had a similar "handbook" style textbook in undergrad that I liked. For practicing stats, I'm personally more of a learn-by-doing kind of person, and there are some free courses out there like this one from Khan Academy that covers the basics fairly well.

But if you can, take courses in college as electives! Chances are you'll have a few to fill (or maybe audit some if you can't get credit), so go outside of HCDE's offerings to get some complementary skills in research or design. I usually find classrooms to be more engaging than trying to get through a textbook at home on my own, and especially for psych research methods, you'll probably have a project that gives you hands-on experience doing research with human subjects (most likely your peers). There are lots of free online courses out there as well if you aren't able to take them for credit.

You guys are making me miss school.

Getting specifically into UX self-study, in addition to a UX-specific research methods book (this is a newer version of one I read in school) I'd also go through the UX classics like Don Norman's The Design of Everyday Things and Emotional Design, Krug's Don't Make Me Think, and Casey's Set Phasers on Stun (this last one being more of a fun read than a practical one).

u/albinotonnina · 3 pointsr/reactjs

Hi! Thanks for your reply! Good point!
I disagree on that UX rule. This is based on my readings.
Main source: Steve Crug - Don't make me think
https://www.amazon.co.uk/Dont-Make-Think-Revisited-Usability/dp/0321965515/ref=pd_lpo_sbs_14_t_0?_encoding=UTF8&psc=1&refRID=TDYRVK2QDQRXX3QZ77ZS

Or this post:
https://ux.stackexchange.com/a/40446/102854

So yes, I'm trading clicks for layout simplicity.

"Navigation should get the user where they need to go, with clear, well-defined paths and decision points"

This thing is more about this.

About the cues from small devices well yes, we prefer larger screens I definitely agree with you. But are we on our mobile a lot?
Do you feel that the tapping and the scrolling became sort of natural for all of us? Do you have this general sense of people preferring mobile apps to the more traditional web apps for desktop?
I'm trying to investigate on a mixed approach maybe? A lot of real estate and the simplicity of mobile navigation.

Also as a developer I can see in this technique some advantages, code wise. It's very easy to build apps like this.
You can create enormous quantities of user flows with little effort, not having to do a lot of layouting. It's easy to prototype or reiterate. Users also can basically create their own paths.

Obviously all this may be valid or not. It's experimentation, at least for me.

I have the luxury to try this technique on a product at work, I hope I'm going to test this soon.

Thank you for your comment! Let's discuss more if you want!

u/thedaian · 3 pointsr/gamedev

Look up The Design of Everyday Things and Don't Make Me Think.

The first book is mostly about physical objects, and the second book is mostly about websites, but both cover UX fundamentals, and they're basically the essential UX books. That knowledge can pretty easily be applied to games.

Beyond that, the other important thing is just to run your game through testing sessions. Ideally, get someone who hasn't touched your game before, and watch them play it. For best results, record the entire play session on camera, and in game, and watch what they're doing in real life and in game. Recording all of that can be tough, and possibly expensive if you're paying your testers, but you might be able to find a local gamedev group and bring your game there.

u/TonySu · 3 pointsr/learnprogramming

Not a website designer, never designed a full website, but recently read Don't make me think. Though I was reading it for ideas in general usability, it's focussed towards websites. It's a pretty short book that you can pretty casually get through in a few afternoons.

Styles and schemes are easy to change, making a robust and usable website should be top priority.

u/too_much_to_do · 3 pointsr/startups

Great points. I remember reading "Don't Make Me Think" when I was in school and it was invaluable to me when doing user testing. It's focused on web UI etc but I think the lessons carry over.

https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515/ref=sr_1_2?keywords=don%27t+make+me+think&qid=1558558875&s=gateway&sr=8-2

u/duotoner · 3 pointsr/web_design

A Word of Caution on Inspiration Galleries

Seeking inspiration (ideas) is perfectly acceptable, but it must be done so cautiously. Too often, people fall into the trap of simply copying the sources of inspiration because it looked nice.

Instead, it's helpful to study the source of inspiration. Which components are interesting? Why were they used? What problem was the designer attempting to solve with them? Once you understand why those components were used, then you are better positioned to decide if they help solve your design problem.

It's also helpful to remember that no two design problems are the same. Sure, you're a bank and we're a bank, but we have different needs, target different audiences, have different value propositions, different brands, and so on. Thus, our design solutions will necessarily differ.

Some Helpful Resources

As for helpful resources, I would start with a video from Flint McGlaughlin on the inverted marketing funnel. You're probably already familiar with the funnel concept from marketing, but he describes it as fulfilling a sequence of "micro yes" points. If you have a good understanding of how the user moves through these "micro yes" moments, then it can help you decide where to choose and place elements on a page. For example, should your call-to-action be above the fold? Do you need pictures? Are stock photos okay? And so on.

Going more in-depth, I would recommend looking to The Elements of User Experience by Jesse James Garrett. You can find lecture videos from him on YouTube covering the ideas.

Another book on the essential reading list is Don't Make Me Think, Revisited by Steve Krug. It's a fantastic book on usability and user experience.

For a slightly more graphic design bent, although still applicable, I would recommend The Non-Designer's Design Book by Robin Williams. It will help you understand the basic components of graphic design which can be applied to web design.

What all these resources do is give you a basic framework through which you can make better design decisions.

Design is fundamentally about problem solving. You are not creating a design simply for the sake of the "design." You are creating a design to accomplish some goal. This is true of graphic designer, web design, user experience design, interaction design, and even industrial design.

u/xiongchiamiov · 3 pointsr/webdev

I'm almost finished with the book, and boy, it's great.

While we're making book suggestions, I also highly highly recommend picking up a copy of Steve Krug's Don't Make Me Think. It's important to remember, when delving into design, that it's not just about making things pretty - you need to make them functional, too.

u/blixxurd · 3 pointsr/webdev

As an ex-data guy myself (Started to do primarily UI Dev a few years back) Steve Krug's book "Don't Make Me Think" was a godsend. It can be learned, and while creativity plays a role, there are formulas to it. With some time, it will be second nature.

Book: http://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515

u/metasophie · 3 pointsr/userexperience

> Why do people use Sketch more over PS?

Sketch is light weight, easy to use, and largely focused built. PS is a generic image editing tool that isn't.

Don't get caught up in tools though. UXD is a process not a toolset competency.

> Do you guys have any beginner friendly tutorials for a material or flat design interface?

A large chunk of user experience design comes from interaction design which inherits a sizeable chunk from anthropology. So, instead of starting you off on a tutorial which will likely focus you on technology as the process I'd rather start you off with reading.

Plans and Situated Actions - Lucy and other researchers at XEROX Parc defined Interaction Design. This is the birthplace of the idea.

https://books.google.com.au/books/about/Plans_and_Situated_Actions.html?id=AJ_eBJtHxmsC&source=kp_cover&redir_esc=y

Lucy Suchman again - Human-Machine Reconfiguration talks about a higher level of thinking when it comes to how people interact with machines.

https://books.google.com.au/books/about/Human_Machine_Reconfigurations.html?id=KES20V7aP4YC&source=kp_cover&redir_esc=y

Alan Cooper is one of the early leaders in Interaction Design. In this book he goes over the 101 of user research and how it has been applied in digital technologies.

https://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111

Love him or hate him Donald Norman helped define early Usability and the transition to Interaction design.

https://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/1452654123

Don't make me think. Was one of the definitive books highlighting the approach of user centred design.

https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515/ref=pd_sbs_14_t_1?ie=UTF8&psc=1&refRID=TN8VJJHK9NKZ1KAA10V5

After you get through all of that I recommend that you spend some time in whatever tool you think works for you and then replicate somebody else's design. Say there's a mobile app (choose a small app) that you use all the time. Replicate every single screen and document with a flow chart how you interact with it to get to every single screen. Break them all up into individual interactions.

Make sure that you design it in the most reusable way possible. If your tool lets you make your own widgets then use them. If your tool allows you to inherit multiple layers, like Axure, then use that too.

Now find some people and test with them. Do some User Testing on the product to find flaws. Do some high level User Research to find out what their core goals are. Iterate. Don't forget that you're an amateur, it's okay to reuse your friend base.

u/LinguoIsDead · 3 pointsr/web_design

Thanks for the reply! I can safely say I would like to focus on web/digital. I've started collecting/bookmarking resources to the principles you mentioned but is there any particular path you would recommend? I don't mind throwing down some money for a learning resource (such as Lynda) and some books. My current list of books I have in my cart:

u/Chris_Misterek · 3 pointsr/userexperience

Have you looked through

u/Himekat · 3 pointsr/cscareerquestions

Non-fiction:

  • The Design of Everyday Things -- not about programming, but a great resource in general for viewing things from a design perspective, and it was required reading in my CS curriculum.
  • Don't Make Me Think -- another design-oriented book about web usability. It's quite a quick read since it's mostly pictures.

    Fiction:

  • Sourdough -- it's a fun whimsical story about Silicon Valley, programming, and baking bread. Very quick, light read.
u/Yulfy · 3 pointsr/AskProgramming

It looks like there's an updated version released in 2013. This is the kind of book I was looking for, thanks :)

u/banister · 2 pointsr/ruby

errr, did you even google? there's even a book called: Service-Oriented Design with Ruby and Rails

u/hjslong · 2 pointsr/learnprogramming

Hi, I'm also still struggling about this, turns out that software architecture is really hard!

I haven't finish this book yet, but I still found so much useful information on it that I can fully recommend. I never programmed on ruby yet the book is easily one of the best that I have ever set my eyes on. You should give a try.

https://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330

u/riceprince · 2 pointsr/learnprogramming

Learning Rails is harder without coding. I recommend Ruby books instead: Practical Object-Oriented Design in Ruby and The Well-Grounded Rubyist.

u/cl3v3rgirl · 2 pointsr/learnprogramming

You want to learn about design patterns. This repo has very nice code examples of many popular patterns that you would be asked about in a software engineer interview:
https://github.com/gennad/Design-Patterns-in-Python

Do further research on each pattern to have it explained. Just follow whichever article helps you understand the concept, language doesn't matter.

This book made everything click for me.

http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330

While yes, it's in ruby, it's great for anyone who just wants to learn how to code easily maintainable projects. The wisdom in this book is beyond any language.

Coursera is a great resource as someone else has already mentioned.

http://pyvideo.org/ is an excellent resource if you want to just watch a talk. While there's a lot of Python, there are many talks on various generic subjects like you're looking for.

Edit: autocorrect

u/Pawah · 2 pointsr/cscareerquestions

The Pragmatic Programmer

Practical Object Oriented Design in Ruby

Both have probably been the two best technical books I've ever read. They don't focus on syntax or an specific languages, but on good practices to follow when working as a Developer.

And don't worry about the title of the second book: it uses code examples in Ruby, but what it explains can be applied to every Object Oriented language

u/AdvancedPizza · 2 pointsr/rails

This. The tests and charity model look good, but the website controller has too much logic and is tricky to follow. Beginning on line 9, there are 4 nested ifs / unless, which could be improved.

This would be something that should be refactored into a number of smaller methods inside a model like models/donation.rb or something alone those lines.

I highly recommend Practical OO Design in Ruby by Sandi Metz. Her talks and writing are excellent and approachable and can applied in a number of contexts.

u/_Aggron · 2 pointsr/web_design

its hard to say where you should start picking up. If you've used VB (or rather, .NET), C# should be a good start. Its a very 'pure' oop language, microsoft has a lot of web stuff built on top of it that can make your life easier, and if your freelancing stuff doesn't work out, its a very popular language with corporate employers.

Python is a fine language. Rails, the ruby web framework, is more widely adopted than its python equivalents, and I personally prefer it. Both are very pleasant languages to work with, for a variety of reasons. My hesitation about learning these languages is that it might be more difficult to find resources that don't assume prior experience--ie, won't emphasis basics (especially object oriented programming and design).

I learned programming fundamentals in school, which I think gives me a more broad perspective than what you'd get reading tutorials. I think that some books would be a fairly good compromise, since they usually offer more depth than online tutorials. The definitive ruby book can be found here for free: http://www.ruby-doc.org/docs/ProgrammingRuby/

You might be more familiar with programming basics than I'm giving you credit for. Still, your frogger problem could be easily fixed by having a better understanding of OO programming and design. If you decide to go down the path of ruby, this book might be helpful: http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330 . Your concerns about not having the right mindset can probably be put to rest once you've developed a good understanding of OOP--something you almost definitely wont get out of learning PHP first.

u/_its_a_SWEATER_ · 2 pointsr/startups

Don't Make Me Think for anything needing a UI, and general Customer Experience.

u/octopi-me · 2 pointsr/userexperience

Sorry to hear that! I struggle with buy-in of the same things as a UX designer, so trust me it's not just you.

First struggle is with internal projects, they are typically a rocky road and hard to get finished so keep that in mind and don't beat yourself up. On a positive note, glad you are noticing that UX is needed!

Next you need to get buy-in from others in your company. Let them know that spending strategic/design hours upfront solving problems will save loads of money in the end by reducing development time and customer retention. Find some case studies or do some on your own for example. maybe offer some A/B testing of the current product to show them how a users experience and drive revenue/conversions.

For you, Id suggest a good place to start (if you haven't already) is reading Steve Krug's book titled "Don't make me think" (revised edition). https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515

This will help frame your mindset around user centered design. Also wouldn't hurt to read Nielson Norman Group's 10 Heuristics for User Interface Design - https://www.nngroup.com/articles/ten-usability-heuristics/

These are foundation pieces every UX designer/User Centered developer should know.

Hope that helps!

u/goldbond_on_my_plums · 2 pointsr/web_design
u/reddilada · 2 pointsr/learnprogramming

Not a web developer but these books are mentioned often:

The Design of Everyday Things
Don't Make Me Think

u/an_ennui · 2 pointsr/design_critiques

Thanks so much for writing that Medium article and being open about your findings. This is an invaluable resource and something I’ll refer to in the future. The world needs more transparent heroes like you. It reminds me a little bit of this article I read a while back about all the “secret sauce” that goes into a successful product beyond simply design + development, from the perspective of a failed entrepreneur.

While it looks like you marketed somewhat, you may have not marketed quite enough—featured Tweets, Facebook posts—to your target demo. So that’s one guess.

> I think many users in the app creation space are very conscious of design, and may be dissuaded because of that.

Asking designers what’s wrong with my product? will always give you the obvious answer: your design could be improved. Which, for the record, you should always translate in your head to: As a designer, I would design that differently—not necessarily better or worse—just…differently. However, considering you’ve built a design tool for designers, that’s a very likely possibility not to be ruled out. For someone familiar with Sketch, e.g. the UI is very complicated and off-putting, yet doesn’t have basic operations such as alignment / distribution. A minor point is that the visual style of the elements are less appealing than both iOS’ and Android’s design, but as you said, that’s an easy fix.

It’s apparent how much work you’ve put into this, and I’d like to see this succeed. I’d also like to think the issues are solvable with a little design and UX TLC (ironically, yes—the marketing site’s UX for UX-App is somewhat lacking in communicating what the app does before signing up).

Anyway, I would suggest 2 things:

  1. Hiring an experienced UI designer to redesign the marketing site layout and app UI (not merely paying for consultation; there’s too much to address even for a formal consultation)
  2. Conducting in-person user testing to get the real user feedback you need. Chapter 9 in Don’t Make Me Think has the best, cheapest, most effective intro to user testing I’ve run across. If you follow that chapter (and book) you can’t go wrong.
u/mynameisgoose · 2 pointsr/userexperience

Get the book "Don't make me think", by Steve Krug.

It's a book all about usability. Naturally, given the subject matter, the book itself is a very easy read. It's a good basis for the principles of what make up a great user experience.

UX and UI go hand in hand, however like web design and SEO, they can be a whole discipline all by themselves.

If you want to focus on the design side, really sharpen your prototyping abilities with tools like Axure, as you've mentioned or Sketch. Play with Adobe XD preview, because I'm sure that will end up having a huge impact later down the road and will get you ahead of the curve. Start thinking about on-site interactions (i.e. how buttons should act when clicked, transitions, etc.)

If you want to be on the UX side of the coin, I would still learn Axure and prototyping tools, but mostly for wire framing. I would then study on usability testing and how to gather site data. It will become very important in this type of role to understand how site statistics and user actions affect your conversion rate (in regards to whatever your site's call to action is).

I mean...absolutely do all you can to learn both UX/UI, but in a lot of companies, your designers will be separate from your analysts. You might want to consider what you want to spend the bulk of your time doing later down the road and sharpen that facet as much as you can.

Being solo is tough...I'd honestly try to learn what you can in that role and on your own then move on to a place that can facilitate further growth.

Good luck, OP.

u/the5and10 · 2 pointsr/web_design

Off the top of my head, two books come to mind that you should check out.

Mobile First by Luke Wroblewski

Don't Make Me Think by Steve Krug

u/ijurachi · 2 pointsr/web_design

If you want to really make a career out of it and want to be good at it, prepare for a long journey. Web design is a mix of programming and graphic design. Design involves a lot more than you think and is just as, if not more tedious than programming (there's a reason why it is a 4 year degree). To start, learn about design theory, layout, the grid system, color theory, typography. Some of these topics will be tough to find online. A bit of design history wouldn't hurt either. Then look up User Experience and User Interface design. A good book to read is Dont Make me Think. Then you should start getting into HTML, CSS and Javascript for front-end design and at least one scripting language.

u/cplcupcake · 2 pointsr/graphic_design

Actually there's a new version of Don't Make Me Think!

u/shootathought · 2 pointsr/javascript

I did a quick search and don't see that anybody has mentioned this book before, but a UI designer friend of mine recommended this one to me when I was considering stepping from technical writing to UI design. Don't Make Me Think: A Common Sense Approach to Web Usability. It's a short-ish book (206 pages) and well written.

​

edit: changed link to third edition.

u/AlSweigart · 2 pointsr/learnprogramming

Focus on UI design.

A lot of people tend to think of programming as very math-heavy (it's not, unless the domain you're writing software for is weather simulations or something that itself requires math). So we end up thinking the technical side is important and the "soft skills" are unimportant (or at least, not worth including in our study time).

I'm old enough now where I still like programming, but I've realized I don't care about code; I care about making software that people actually use and find useful. Building a tesla coil in your garage is cool, but so what tons of geeks have done that. I want to make something useful, and it doesn't matter how elegant your algorithms are if your program is confusing, unusable, or solves the wrong problem.

I'd recommend these books, in roughly this order:

u/wes321 · 2 pointsr/Entrepreneur

The two books I'd recommend are Founders at Work
and Don't Make Me Think . even though this is more on the technical side it's an amazing book about user experience which most entrepreneurs should try to master :)

"Behind the scenes" meaning stories that aren't fabricated to make good TV but to give the viewer a better understanding of what goes on behind a product / website. TED talks are great with that so I'd highly recommend watching these https://www.ted.com/talks?sort=newest&topics%5B%5D=entrepreneur

The more dramatic but easy to keep in the background type shows are

u/chromarush · 2 pointsr/userexperience

I am self taught and design applications for human and system workflows at a Internet security company. I am biased but I don't think a degree will necessarily give you more hands on skills than just finding projects and building a portfolio to show your skills. There are many many different niche categories, every UX professional I have met have different skill sets. For example I tend in a version of lean UX which includes need finding, requirements validation, user testing, workflow analysis, system design, prototyping, analytics, and accessibility design (not in that order). I am interlocked with the engineering team so my job is FAR different than many UX professionals I know who work with marketing teams. They tend to specialize very deeply in research, prototyping, user testing, and analytics. Some UX types code and some use prototyping tools like Balsamiq, UXpin, Adobe etc. There is heavy debate on which path is more useful/safe/ relevant. Where I work I do not get time to code because my team and I feel I provide the best value to our engineering team and internal/external customers by doing the items listed above. The other UX person I will work with me on similar activities but then may be given projects to look at the best options for reusable components and code them up for testing.

TLDR:

u/SlashLes · 2 pointsr/graphic_design

Crap, its coming out on 30th of December :(

u/jeffderek · 2 pointsr/crestron

Agree completely on Design of Everyday Things and 100 Things Every Designer Needs. They're both top tier books.

I also enjoy Don't Make Me Think, which is a web design book and has a lot of stuff that doesn't apply to touchpanels, but it espouses a method of looking at your design that I have found very useful for touchpanel design as well.

u/stimtowin · 2 pointsr/design_critiques

Hey letmethinkabit,

I'd like to throw in my $0.02 from a usability perspective in regards to the "continue" modal that your_gay_uncle touched upon. More specifically, the last segment where you point out where the menu button is.

If you have to tell your users where something as critical as the menu is(and telling them with words to boot), you are doing usability wrong.

There's a highly regarded book on usability that I recommend you read(it's short, just under 200 pages), called "Don't Make Me Think!" by Steve Krug. Here's a non-referral Amazon link:

http://www.amazon.com/gp/product/0321965515

Here's an excerpt from Chapter 1 that pertains directly to what you're doing with that "here's the menu" dialogue:

> Don't make me think!

> For as long [as] I can remember, I've been telling people that this is my first law of usability.

> It's the overriding principle---the ultimate tie breaker when deciding whether a design works or it doesn't. If you have room in your head for only one usability rule, make this the one.

> For instance, it means that as far as is humanly possible, when I look at a Web page it should be self-evident. Obvious. Self-explanatory.

> I should be able to "get it"---what it is and how to use it---without expending any effort thinking about it.

> (Krug 11)

Also note that people do not like to read. Especially when they're visiting your website. So I would cut probably that entire modal popup segment, maybe you could tuck that information somewhere else like an 'About' page where people who are looking for it can find it, rather than assaulting all of your visitors with it. Try to think of your user experience from the other side of the table; something broke and you need an IT company to fix it. When you visit this hitechwolf site, you are immediately confronted with a lot of reading that you have to do. You have failed to convey any sort of value within the initial landing, and most people will probably just hit the back button. Even more so if they happen to press 'continue' once, and they are not allowed to continue(because your modal has three segments.)

Another usability note, for your six panel buttons on the bottom half of the page: make the text that appears on hover display even when not hovering. Your users shouldn't have to interact with something to figure out what it does. Here are some good ideas for progressive enhancements on hover:

http://tympanus.net/Development/HoverEffectIdeas/

Good luck and don't stop, design is hard!

u/eaz135 · 2 pointsr/simpleios

I think adding a reading list to this would be a good idea:
For intermediate iOS developers looking to take things to the next level I would recommend at least the following:

u/obsoletelearner · 2 pointsr/learnprogramming

I'd recommend doing mathematics, It's much important than learning a language. It helps you grab the logic of solving a problem.


Discrete Mathematics by Rosen is the best book from my experience.



Graph Theory by Bollobas is recommended by many but i prefer Graph Theory by Douglas West




Algorithms by Cormen. No introductions needed this book encompasses most of the problems you'll encounter.



However if you're keen on learning a C/C++/Java i'd recommend the Head First Series from O'Reily .




Goodluck!

u/speckledlemon · 2 pointsr/chemistry

By "expensive calculation", I meant DFT. A semiempirical method such as PM6, PM3, AM1, ZINDO, etc. is much, much quicker to run and can often get you a good starting geometry for a DFT calculation. You'll need to use your eyeballs for this part though.

You usually want the best basis set you can afford. In this case, you want it to include d and f angular momentum functions to properly describe the wavefunction at the cobalt. A small basis set like 3-21G will not work. However, 6-311+G(d,p) is too costly and may fail; even though it has higher angular momentum functions, the '+' means a set of diffuse functions has been added. This will result in orbitals that are quite large but "fuzzy", potentially causing false overlap of orbitals between atoms. It's important for many anions, but unnecessary here. Something intermediate like 6-31G(d) might be acceptable for a geometry.

If you want to learn more, I highly recommend this book, this book, and maybe most of all this book, depending on how much modeling you're required to do.

u/_morvita · 2 pointsr/chemistry

Frank Jensen's Introduction to Computational Chemistry is, in my opinion, one of the best books out there for computational chemistry. Jensen's book does a great job introducing the concepts and equations in a way that doesn't feel like you need years of background in math and physics to understand. This book lived on my desk while I was in grad school. From what I've seen, most university libraries have a copy of it in their collection.

There are books out there that go into far more detail about the various methods and give detailed mathematical proofs, like Ira Levine's Quantum Chemistry, but those are very dense and, even as someone with a PhD in the field, intimidating.

u/soulefood · 2 pointsr/learnprogramming

I started iOS programming with : http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430216263/ref=sr_1_7?ie=UTF8&qid=1372191579&sr=8-7&keywords=iphone+programming


Once I got past the basics, I got myself this : http://www.amazon.com/Core-Developers-Cookbook-Edition-Library/dp/0321884213/ref=sr_1_4?ie=UTF8&qid=1372191615&sr=8-4&keywords=iphone+programming

I would check for newer versions of the books though.

By access another application's data it depends on what you mean. Can you access 3rd party applications' data? No, each application is sandboxed and unable to communicate with each other. If it's a base iOS application though, Apple allows you to make calls to several of the base functionalities for use. You can utilize location services as well as maps in your app.

One suggestion I would make if you're just getting started. I would look to HTML 5 and multiplatform development solutions. More and more, these are becoming the standard rather than native applications. Because of this, I wouldn't start with iOS programming, but javascript instead. Don't waste your time with base javascript, instead choose a library to work with. jQuery is my personal choice.

From there, you have the basic knowledge to start using cross platform tools such as Sencha Touch or Apache Cordova (formerly phone gap). With these tools, you can develop for iOS and Android at the same time. Cordova also allows you to write native code when HTML & Javascript just isn't getting the job done.

u/tbone80 · 2 pointsr/apple

Programming in Objective-C is a good explanation of the Objective-C language. It shouldn't be hard to pick up if you're familiar with C. Beginning iPhone 3 Development assumes you have Objective-C knowledge and jumps right into iPhone development explaining how to use XCode as you go.

u/Errornix · 2 pointsr/apple

I learned a great deal from this one:
http://www.amazon.com/exec/obidos/ASIN/1430224592/errornixcom-20

Disclaimer: Yes, that is an affiliate link. No, I am not spamming reddit. I am legitimately recommending this book.

u/ahawks · 2 pointsr/AskReddit

My advice, buy this book, read it and do the exercises.

Know the code, don't just depend on the drag & drop Designer interface.

Create "proofs of concept" and test them on a physical device before you get too far in. Both of my "big ideas" got thwarted by hardware limitations. CPU speed on one, and the limit of 4 multitouch points on the other.

Use a SVN server, even if it's just hosted locally on your mac. Coding without revision control is asking for trouble.

u/petrithor · 2 pointsr/simpleios

> (assume i have programming background in javascript/web front end.)

Um, are you sure you're ready to jump into iOS development?

Unless I'm reading this incorrectly, it doesn't seem like you have any C or OOP (like Java) programming experience. You'll definitely want to be at least comfortable with C-like syntax and message-passing, inheritance and objects, etc.

Actually, I'll have you answer that for yourself. Watch the first lecture in the iOS dev series from Stanford on iTunes. Around minute 11 the professor goes over what concepts you need to understand in order to be able to follow along with the course. If you don't understand all of the concepts listed, then you aren't ready yet.

Also, you've got to have a Mac. Have at least a Mac Mini (which are the cheapest Macs you can get refurb'd / used).

Here's what I would do assuming I am correct about your programming experience:

1. Learn C on the Mac.

It's for beginners, and will go over the basics of C. Objective-C, the programming language for iOS, is a strict superset of C, so they share a lot of syntax.

1.a The C Programming Language (recommended)

This one isn't for beginners, and is a bit stale, but is the de facto book for learning all of the intricacies of C. While it isn't absolutely necessary, the better you understand C (including pointers, memory, etc.), the easier time you'll have with iOS dev. I absolutely recommend going through it in its entirety, though this isn't necessary. It'll also be good to know C in the future if you plan to pursue software development.

2. Programming in Objective-C

This will teach you Objective-C, related OOP, and using XCode 4.

3. Beginning iPhone 4 Development

This will probably rehash some stuff related to Objective-C and XCode, but for the most part is a great introduction to iPhone development.

Use this book in tandem with the Stanford lecture series. Read the first few chapters, watch the first 2 lectures, do the homework exercises as if you were in the course along with the examples from the book, and just go from there. There might be some redundancy, but I think the combination of reading, listening, and doing will really help you understand the material.

If you need short tutorial refreshers at any point, Cocoa Dev Central is a great resource.

From there, you should be able to start making your own apps, and just use Google, StackOverflow, and http://developer.apple.com/ for all of your questions not previously answered or if you get stuck.

As you go through the process of learning all of these new programming concepts, try to develop ideas for what apps you want to develop. As you learn more, try to piece together how you would accomplish certain aspects of the ideas, and if you can, maybe even code the bits (like certain functions) you can.

There are no set milestones.. it's a gradual process of learning and getting better at programming and iOS development. Your goal should be to just create your own working app entirely based of your own ideas and work.

u/eli8527 · 2 pointsr/applehelp

There are some really good resources~ I personally prefer books though.

I strongly recommend this book:
http://www.amazon.com/Beginning-iPhone-Development-Exploring-iOS/dp/143023024X/ref=sr_1_1?ie=UTF8&qid=1312496135&sr=8-1)

u/disastermaster254 · 2 pointsr/computerscience

Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics

https://www.amazon.com/dp/1449319270/ref=cm_sw_r_cp_apip_snkUsKVjbJX1K

And this is the book I'm using. I have no idea how to link and make it words so here you go lol

u/codeycoderson · 2 pointsr/cscareerquestions

This book and this one

I bought the first one a little while ago (a few weeks) and have really only sat down at my computer and worked through some stuff for 2 or 3 nights a couple hours a night and have my site up already. While it's suuuper basic and there's going to be a lot more to come and probably a lot of design changes, it's exciting to know that you have a working website up.

I'm a full time student with a part time job and I've been working on webdev in the little free time I have and it's awesome. Start with some books, see if you're interested, then continue. I don't have any info on colleges or anything, sorry, that seemed to be what you're looking for.

Also, /r/webdev and /r/web_design are great resources! Good luck!

u/microgrower · 2 pointsr/HTML

Great to hear man!

I also found a review on that book that he would recommend this book instead, because it's more of thorough book on the subjects

u/Nessnah · 2 pointsr/UIUC

Wish I had seen this post sooner, not sure if you'll still see this but I was pretty much in the same situation as you this past year. Statistics student trying to get into data analytics (insurance/finance). Most of these tips have already been mentioned but they are definitely valuable if you are trying to get an internship and don't have any other experience.

  • Go to career fairs. Career fair is a MUST if you don't have anything that stands out in your resume. If you don't have a perfect GPA, any internship/research experience, or noticeable personal projects then your resume won't stand out much against the hundreds of others that are submitted online. Going to a career fair gives you the chance to stand out or at least be memorable for recruiters. I applied to probably over 50 companies as well for my internship but the majority of my interviews came from career fairs. Also make sure to not limit yourself to just the Statistics/Actuarial career fair since this one is fairly small compared to others and options are much more limited. I researched some of the companies that were at the Business and Engineering fair and the positions that would be relevant for a statistic student; I got more interviews from these fairs than the Statistic one that happens later on in the year.

  • Update/Review your resume. You mentioned you only got one interview (that wasn't even relevant) out of ~50 applications which is pretty low even for someone without prior experience. Make sure your resume is formatted well and have others review it. I'm on r/cscareerquestions a lot and they have some good daily resume threads on every Tuesdays (even if you're not cs the formatting can be similar in that you should list languages/technology along with personal projects). There's also an LAS resume review office on campus available for students. When I went the professional reviewing my resume didn't know much about STEM related careers but he was able to give me some general resume tips (e.g. consistent spacing, action words, typos/grammar, eliminating white space). Also make sure your resume is always in PDF format when you submit it; resumes submitted as DOC files were usually the worst resumes at my previous job.

  • Learn and apply languages/statistical packages related to your field. Earlier you said that you are interested in learning Python and R which are very popular in most data analytic roles. Depending on how far you are in your STAT courses I wouldn't worry too much about R since it'll be used in a lot of STAT 400+ classes. Codeacademy would be a good start as an introduction to Python along with the other resources people have mentioned. After going through some of those online resources I'd also recommend you to take a look at Python for Data Analysis, it can be a difficult read but you will learn a lot about important packages that are used in the industry (NumPy, Pandas, Requests, SciPy, etc).

  • Work on your soft skills. I'm not sure if this applies to you but make sure you've practiced ways of approaching recruiters and interviews in a confident and professional manner. Many of the recruiters at the career fair are employees that work in which ever field they are trying to recruit in. On top of finding students that are qualified they also want interns that will be a good fit to their work culture. Being genuine and professional seems go a long way for interviewers/recruiters.

    All this being said, this should be taken with a grain of salt. I'm not a recruiter or a full time at a fortune 500, but these are some of the steps I took to get some internship offers this summer.
u/shaggorama · 2 pointsr/learnpython

I also do a fair amount of NLP and anomaly detection in my work and use python for both. The reason I suggested starting with numpy is because, as I suggested, it is the basis on which everything else is built on.

I learned python before R, then used R for my scientific computing needs, then learned the scientific computing stack in python after building out my data science chops in R. I've found the numpy array datatype much less intuitive to work with than R vectors/matrices. I think it's really important to understand how numpy.ndarrays work (in particulary, memory views, fancy indexing and broadcasting) if you're going to use them with any regularity.

It doesn't take a ton of time to learn the basics, and to this day the most pernicious bugs I wrestle with in my scientific (python) code relate to mistakes in how I use numpy.ndarrays.

Maybe you don't think it's that important to learn scipy. I think it's useful to at least know what's available in that library, but whatever. But I definitely believe people should start with numpy before jumping into the rest of the stack. Even the book Python for Data Analysis (which is really about using pandas) starts with numpy.

Also, I strongly suspect you use "out of the box" numpy more often than you're giving it credit.

u/tidier · 2 pointsr/Python
u/rhiever · 2 pointsr/Python
u/blue6249 · 2 pointsr/LinuxActionShow

>Like the concept of piping info between applications is just starting to make sense (even though I have no clue how it works).

Coming from a programming background it might be easier for you to think of each of the little unix core programs as a function. They all have options and generally do one thing really well. "grep" searches for things. "sed" does regex matching/replacment. "cut"... well it cuts out parts of files. The easiest way to figure out what something does is probably through the man page. (run "man grep" at the terminal). That being said some programs have -really- goddamn big man pages and are much harder to navigate. Bash, for instance, has an enormous man page.

The concept of piping makes more sense in the context of functions. In python you might write something like this:

"hello".upper()

Which would give you:

"HELLO"

In bash you could write that as:

echo "hello" | tr '[a-z]' '[A-Z]'

That first command just prints out the string, but instead of printing it out at your terminal the pipe will send all of it's output to the "tr" command. ("man tr" will help you understand what it's doing there). Because tr does not have it's output being redirected it just gets printed back to the terminal.

>Question 1, should I stick with zsh or learn the basics of bash first?

I don't think you would have much of a problem learning either just so long as you understand that there will be minor differences between different shell languages. Those differences tend to be syntax rather than functionality, and when it is a difference in functionality it tends to be much less commonly used features. If you have to choose one I would recommend bash for scripting solely because it is somewhat more portable. "sh" is even more portable than bash, though it can be more painful to use since it doesn't have some of the nice features in modern shells. Remember that you don't have to use the same language for your shell and for your scripts. You just have to define a different shebang on the first line of the script.

>2. what are some things I can use scripting for (what do you use it for)?

I don't find myself scripting much at home. At work though I spend a TON of time writing various scripts. What I -do- use bash for a ton is one-liners. Once you get used to the syntax you can write some very useful code in just a couple lines. One example that I use frequently is "Run this command every 10 seconds forever" which can be written as

while sleep 10; do
{command}
done

The "watch" program does more-or-less the same thing, but I find it unwieldy once the commands inside get more complex.

An example of a somewhat longer, and arguably poorly written script for backups using tarsnap is here.

>Any explination for common commands would be awesome.

As I mentioned earlier "man" is your friend. The other option is "command --help". You can generally google for some examples, which can be really useful for some of the less easily grok'd programs (awk, for example).

>And I do know a bit of python and have heard of iPython. Could that be a replacement for bash or zsh or is that something completely different and I'm in over my head (very likely). Much thanks.

ipython is not going to be a good replacment for your standard shell. It's cool, and I use it frequently when coding in python, but it simply lacks the powerful integration with the system that bash/zsh has. What it is extremely useful for though is exploratory programming. What really opened my eyes on the subject was the book Python for Data Analysis.

Edit: Syntax

Also, for any shell junkies please don't complain about the non-necessary "echo" up there. I know you could use a here string, but I think it would defeat the purpose of an easily digested example.

u/Sarcuss · 2 pointsr/AskStatistics

Although I am not a statistician myself and given your background, some of my recommendations would be:

u/dtrillaa · 2 pointsr/rstats

I used data camp and I recommend it because it covers both programming in base R and the full tidyverse library. I did the R programming course and it covered everything from functional programming to object oriented programming in R.

If you don’t want to do a monthly subscription, purchase Hadley Wickams (author of the tidyverse) book R for Data Science

u/RobotFred · 2 pointsr/AskProgramming

I totally agree. I recently learned use ruby/rails for Web Development, so I would recommend that over python/django (worked with python for a couple years). I found, after doing a few tutorials online, that a great way to practice is to use your newfound skills to solve problems from Project Euler (projecteuler.net). Ruby is a very easy to read language, and gives you a good programming base. I would also recommend reading this book by Sandi Metz (Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby) https://www.amazon.com/dp/B0096BYG7C/ref=cm_sw_r_other_apa_gQcFxbTMY5RDA). It's great for applying Ruby (and really any other language) and applying it well.

u/kassidayo · 2 pointsr/graphic_design

A list of some of my favorites so far..

Interactions of Color by Josef Albers

[The Elements of Typographic Style] (https://www.amazon.com/Elements-Typographic-Style-Version-Anniversary/dp/0881792128/ref=sr_1_3?s=books&ie=UTF8&qid=1485894924&sr=1-3&keywords=typography+book) by Robert Bringhurst

[Don't Make Me Think] (https://www.amazon.com/Dont-Make-Think-Revisited-Usability-ebook/dp/B00HJUBRPG/ref=sr_1_1?s=books&ie=UTF8&qid=1485895055&sr=1-1&keywords=dont+make+me+think) by Steve Krug (More of web design, but I loved the book. It can apply to all design.)

Logo Design Love by David Airey

Designing Brand Identity by Alina Wheeler

The Design of Everyday Things by Don Norman

These are just a few that I have really enjoyed.

u/HostileHarmony · 2 pointsr/Python
u/AnalyzeAllTheLogs · 1 pointr/web_design

I'd change the headline to a display typeface.

I prefer light, i'd be interesting if you just had a button to switch the theme from light/dark; probably upper right corner.

I'd lose the '10,000' dollar bit, seems gimmicky.

I'd be more interested in how they use the site: Useability testing book-> Don't Make Me Think

Edit: i'd do a bold on the text within the options and a slightly heavier stroke on the inactive buttons. I'd also condense the spacing between options just a bit, while making the first row of options after a question slightly more together (proportionally). It helps with visual grouping and relatedness; besides not having too much white space.

u/bluelite · 1 pointr/learnprogramming

The book Don't Make Me Think is a great, lightweight introduction to UI design and testing. There are no magic formulas; that is, it's impossible to state that "if your UI does X, Y, and Z, it'll be great!." But there are guidelines that you ought to follow--or consciously ignore.

Your UI is good if the majority of users can navigate it without asking for help of giving up. Start by testing your UI designs on a few friends. Give them some tasks to do. If they can accomplish the tasks, you're on the right track. If not, re-design and test again.

u/Xacto01 · 1 pointr/web_design

Don't Make Me Think. This is the 3rd edition. I read the 2nd edition and it is still applicable today. I would assume the 3rd edition would be just as good.

u/flight_club · 1 pointr/learnmath

My suggestion would be to go to a library, walk down the aisle scanning each graph theory textbook for a few minutes and then choose one which clicks. Having access to exercises is super important (accompanying solutions is nice.)

Having access to a few textbooks is nice because if you get stuck on a concept in your 'main' text you can see if the others explain the idea better (wikipedia is also good for this.) Be alert for problems arising from differences in notation if you do this though.

Free online text book: http://diestel-graph-theory.com/basic.html

One I purchased: http://www.amazon.com/Modern-Graph-Theory-Bela-Bollobas/dp/0387984887

Combinatorics via exercises: http://www.amazon.com/Combinatorial-Problems-Exercises-Second-Lovász/dp/044481504X

Check a university library for copies of the latter two.


University courses:
http://www1.maths.leeds.ac.uk/~pmt6sbc/3032/3032.html
http://users.utu.fi/harju/graphtheory/graphtheory.pdf
http://www-math.ucdenver.edu/~wcherowi/courses/m4408/gtln.html
http://www.personal.psu.edu/cxg286/Math485.pdf
http://www.warwick.ac.uk/~masgax/notes.pdf
http://www.cs.elte.hu/~karolyi/GT/index.html
http://ocw.mit.edu/courses/mathematics/18-315-combinatorial-theory-introduction-to-graph-theory-extremal-and-enumerative-combinatorics-spring-2005/

u/igotthepancakes · 1 pointr/math

Thank you! This is exactly what I was looking for!!!! I didn't think anyone was going to give me a sufficient reply because there are a lot of books (sorry), but this is what I wanted. Where would you place the two books I linked, Principles and Techniques in Combinatorics and Introduction to Combinatorial Mathematics, Liu, in that list or would you consider studying them a redundant exercise? I also did not include this book in the list, but where would you place Problems from the Book and its accompanying Straight from the Book?

I will likely end up replacing the Graph Theory book I have in the list, by Berge, with Modern Graph Theory by Bellobas, since Berge doesn't have exercises, but I will assume it stays in the same order of the sequence.


I apologize for not initially including them. I did not realize that I did not. Also, are there any other topics you would recommend I cover for establishing a solid foundation. I didn't buy Rudin's Complex Analysis because I didn't know if that kind of thing was necessary. I don't even know what other branches of mathematics Complex Analysis relates to. There could be other topics I'm not aware of as well. Please don't hesitate to make more recommendations. I appreciate it.

u/pleasepickme · 1 pointr/chemistry

Hi,

I am currently a grad student in comp/theory.

A background in programming is not necessary, but you may find yourself wanting to get familiar with programming for data analysis. You should feel comfortable in the terminal to begin something like this (but I've seen people with almost no computer skills learn to run MD simulations within a few weeks of struggle).

The points I give below apply to most questions of this sort.

A good starting place is considering what do I want to simulate?
Consider the underlying physics. If you can write the formulas of what you want to observe with statistical mechanics consider molecular dynamics or monte carlo. If you require quantum mechanics use post Hartree-Fock or DFT.

Do you want to simply look at a change in structure? MD will work. Do you want to look at the process of polymerization? That requires bond formation which requires quantum mechanics. A note: SCF is not orthogonal to MD; there exists QM/MD origrams such as terachem but its sounds fairly impractical to apply to a polymer.

Lets say you wanted to observe the unfolding of a polymer w.r.t. temperature. This could be observed with molecular dynamics. Now you need to consider what program to use. I don't know your system but NAMD is a good starting place because it is fairly user friendly. If you'd like some reading suggestions I'd suggest skimming Jensen's comp chem Let me know if you have more questions

DISCLAIMER:
I am a QM guy specifically quantum Monte Carlo, but I work closely with NAMD users

u/Moklomi · 1 pointr/bioinformatics

Barry Halls Phylogenentic Trees Made Easy Link

u/virologyrl · 1 pointr/labrats

I have experience with MEGA to generate trees. I agree that it's a clunky software, but once you understand how to use it, it's not so bad.

I recommend the following book if you want to become a MEGA power-user: https://www.amazon.com/Phylogenetic-Trees-Made-Easy-Manual/dp/0878936068


Before you start... you say you are looking at the protein sequences. Are you starting with the amino acid sequence or the mRNA sequence? If mRNA, make sure all sequences are in the same orientation (ATG/start on the 5' end of the sequence). I find that if you have just one or two sequences that have been copied in the reverse direction, the alignment may not work. You can also save multiple alignments -- try some with seemingly more conserved sequences (less gaps) and try the entire set.

Once you have all your sequences in one FASTA file or multiple FASTA files, import them into MEGA. From the 'Align' menu, choose to edit/build an alignment. Add your sequences. Select all sequences for alignment and then align selected (you can get into some advanced settings here, change the alignment algorithm, etc.) Save the alignment as a .mas file and export as a .meg file.

Now, open your .meg file in MEGA's main window. From the phylogeny menu, select to build a neighbor joining tree. Based on the alignment, the program will auto-build a tree for you. Again, lots of functionality exists in the program, but it's not an intuitive UI.

Happy to help if you have other questions!

u/Stratisphear · 1 pointr/apple

I highly recommend this series. They have books on developing for most systems, and there's also a few on game development

u/adremeaux · 1 pointr/flash

For iPhone? Get a book. This one is ok. Not great though. How is your programming? Are you a programmer just looking to learn AS3? Or are you a non-programmer?

u/dontdoitthen · 1 pointr/programming

http://developer.apple.com/iphone/

You probably should register in the $99 iPhone Developer Program - Standard Program as soon as you can.

I read these books to get started:

  1. http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430216263

  2. http://www.amazon.com/iPhone-Developers-Cookbook-Building-Applications/dp/0321555457

    Apple's sample code is usually helpful but can be buggy, e.g. in the Reachability sample.
u/oxfordcommabandit · 1 pointr/HTML

I'm in the same boat about book > screen. I'm pretty beginner, and I found Learning Web Design incredibly helpful. It's 2012, but the author focuses on HTML5 and CSS3. I highly recommend it.

u/CaptainKick · 1 pointr/webdev

I used this book. I just read every chapter, took notes, and quizzed myself at the end of each one.

u/veloace · 1 pointr/webdev

If you really want to learn, I think a good start for you would be to read this book it was a good start for me and a tremendous help. It should also cover the basics of everything you need to know. Also this video helped me a lot as well.

u/Trentskie · 1 pointr/webdev

Triforce is right about the Jon Duckett book. It is an excellent resource that is pretty to look at, as well.

I learned all of my HTML5 & CSS3 basics from Learning Web Design by Jennifer Robbins. It is a great resource, and provides great design exercises for you to practice on.

Given your experience, you will need to bypass the first few chapters. Fortunately, the book is well-organized. This will allow you to only focus on the your particular area of need, and help when referencing the book after you finished learning the basics.

u/tells1 · 1 pointr/FreeCodeCamp

Learning Web Design by Jennifer Robbins is a really good book for learning CSS.

Also, for me, learning CSS takes a ton of practice. Take a site you like and recreate it from scratch. You'll bang your head against the wall but you'll learn practical skills that might not sink in if you just watch videos and read tutorials.

u/josiahstevenson · 1 pointr/BigDataJobs

Sorry for the misunderstanding --

>Factset, Bloomberg, Dimensional, AQR

Are not so much resources for dealing with data as employers of data wranglers. I mean Factset and Bloomberg are data providers, but...again, I was suggesting you look for employment with them, not have them teach you.

As for learning:

  • Sounds like you're still in school. Take as many stats and econometrics (especially "time series" anything) classes as you can, if you want to do data stuff in finance. Or...data stuff at all, really.

  • Python for Data Analysis is a guide to using a particular programming language (Python) to analyze data. The author developed the main library he showcases (pandas) while he was working for AQR, one of the biggest quant hedge fund managers, and open-sourced it when he left. Some of the examples in the book have to do with finance because of this.

  • You might like Quantopian especially if you like Python.

u/its_joao · 1 pointr/learnpython

You see, python is a very simple language that doesn't require you to annotate everything line by line. You might be better off brushing up your general python knowledge befire jumping into projects. This will save you time having to read or looking for comments to understand the code. Also, consider looking at the requirements.txt file for the imports of a particular repo. It'll tell you what packages are being used and you can then Google their documentation.

I'd definitely recommend you to read a book about python first. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython https://www.amazon.co.uk/dp/1449319793/ref=cm_sw_r_cp_apa_i_U38gDb4RE5933

u/nbitting · 1 pointr/learnpython

This book is by Wes McKinney, the author of Pandas. It's a great resource. https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793

u/atmontague · 1 pointr/learnprogramming

This might work for you.

u/millsGT49 · 1 pointr/gatech

I was ISYE so I'm not sure how much you are allowed to cross over being CS but I would absolutely recommend taking a regression course. ISYE also has some data analysis electives, but to me learning and mastering regression is a must.

BBUUTT my biggest recommendation is to start playing with data yourself. I am a "Data Scientist" and graduated from the MS Analytics program at Tech and still to this day I learn the most just from playing around with data sets and trying new techniques or learning new coding tools. Don't wait to take classes to jump in, just go.

Here are some great books to get started doing "data science" in R and Python.

R: Introduction to Statistical Learning (free!!)

Python: Python for Data Analysis

u/Ping_Me_Later_Dude · 1 pointr/ITCareerQuestions

I would skip certs for now, only because you need to get up to speed quickly.

I would check r/sysadmin and see what they think.

if you want some advice for books and such, then I suggest the following

1)

Networking for Dummies: - You can probably get this one free from the library. I think my library has it

https://www.amazon.com/Networking-Dummies-Computer-Tech/dp/111925776X/ref=asc_df_111925776X/?tag=hyprod-20&linkCode=df0&hvadid=312114711253&hvpos=1o1&hvnetw=g&hvrand=472462205621134697&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9019032&hvtargid=pla-327835119737&psc=1

This will give you an over view of networking.

2)

The Accidental SysAdmin Handbook: A Primer for Early Level IT Professionals 1st ed. Edition

https://www.amazon.com/Accidental-SysAdmin-Handbook-Primer-Professionals/dp/1484218167

​



Understand the concepts, processes and technologies that will aid in your professional development as a new system administrator. While every information technology culture is specific to its parent organization, there are commonalities that apply to all organizations.

The Accidental SysAdmin Handbook, Second Edition looks at those commonalities and provides a general introduction to critical aspects associated with system administration. It further acts to provide definitions and patterns for common computer terms and acronyms. 

What You Will Learn


  • Build and manage home networking and plan more complex network environments
  • Manage the network layer and service architectures as well as network support plans
  • Develop a server hardware strategy and understand the physical vs. virtual server ecosystem
  • Handle data storage, data strategies and directory services, and central account management
  • Work with DNS, DHCP, IP v4 and IP v6
  • Deploy workstations and printers
  • Manage and use antivirus and security management software
  • Build, manage and work with intranets and Internet support services

    Who This Book Is For
    It is assumed that the reader has little to no experience in a professional information technology environment. 

    ​

  1. Time Management for System Administrators: Stop Working Late and Start Working Smart 1st Edition

    https://www.amazon.com/Time-Management-System-Administrators-Working/dp/0596007833

    ​

    Please note - I'm not a system administrator
u/lifeindub · 1 pointr/rstats
u/empleadoEstatalBot · 1 pointr/argentina

> For those who prefer video lectures, Skiena generously provides his online. We also really like Tim Roughgarden’s course, available from Stanford’s MOOC platform Lagunita, or on Coursera. Whether you prefer Skiena’s or Roughgarden’s lecture style will be a matter of personal preference.
>
> For practice, our preferred approach is for students to solve problems on Leetcode. These tend to be interesting problems with decent accompanying solutions and discussions. They also help you test progress against questions that are commonly used in technical interviews at the more competitive software companies. We suggest solving around 100 random leetcode problems as part of your studies.
>
> Finally, we strongly recommend How to Solve It as an excellent and unique guide to general problem solving; it’s as applicable to computer science as it is to mathematics.
>
>
>
> [The Algorithm Design Manual](https://teachyourselfcs.com//skiena.jpg) [How to Solve It](https://teachyourselfcs.com//polya.jpg)> I have only one method that I recommend extensively—it’s called think before you write.
>
> — Richard Hamming
>
>
>
> ### Mathematics for Computer Science
>
> In some ways, computer science is an overgrown branch of applied mathematics. While many software engineers try—and to varying degrees succeed—at ignoring this, we encourage you to embrace it with direct study. Doing so successfully will give you an enormous competitive advantage over those who don’t.
>
> The most relevant area of math for CS is broadly called “discrete mathematics”, where “discrete” is the opposite of “continuous” and is loosely a collection of interesting applied math topics outside of calculus. Given the vague definition, it’s not meaningful to try to cover the entire breadth of “discrete mathematics”. A more realistic goal is to build a working understanding of logic, combinatorics and probability, set theory, graph theory, and a little of the number theory informing cryptography. Linear algebra is an additional worthwhile area of study, given its importance in computer graphics and machine learning.
>
> Our suggested starting point for discrete mathematics is the set of lecture notes by László Lovász. Professor Lovász did a good job of making the content approachable and intuitive, so this serves as a better starting point than more formal texts.
>
> For a more advanced treatment, we suggest Mathematics for Computer Science, the book-length lecture notes for the MIT course of the same name. That course’s video lectures are also freely available, and are our recommended video lectures for discrete math.
>
> For linear algebra, we suggest starting with the Essence of linear algebra video series, followed by Gilbert Strang’s book and video lectures.
>
>
>
> > If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
>
> — John von Neumann
>
>
>
> ### Operating Systems
>
> Operating System Concepts (the “Dinosaur book”) and Modern Operating Systems are the “classic” books on operating systems. Both have attracted criticism for their writing styles, and for being the 1000-page-long type of textbook that gets bits bolted onto it every few years to encourage purchasing of the “latest edition”.
>
> Operating Systems: Three Easy Pieces is a good alternative that’s freely available online. We particularly like the structure of the book and feel that the exercises are well worth doing.
>
> After OSTEP, we encourage you to explore the design decisions of specific operating systems, through “{OS name} Internals” style books such as Lion's commentary on Unix, The Design and Implementation of the FreeBSD Operating System, and Mac OS X Internals.
>
> A great way to consolidate your understanding of operating systems is to read the code of a small kernel and add features. A great choice is xv6, a port of Unix V6 to ANSI C and x86 maintained for a course at MIT. OSTEP has an appendix of potential xv6 labs full of great ideas for potential projects.
>
>
>
> [Operating Systems: Three Easy Pieces](https://teachyourselfcs.com//ostep.jpeg)
>
>
>
> ### Computer Networking
>
> Given that so much of software engineering is on web servers and clients, one of the most immediately valuable areas of computer science is computer networking. Our self-taught students who methodically study networking find that they finally understand terms, concepts and protocols they’d been surrounded by for years.
>
> Our favorite book on the topic is Computer Networking: A Top-Down Approach. The small projects and exercises in the book are well worth doing, and we particularly like the “Wireshark labs”, which they have generously provided online.
>
> For those who prefer video lectures, we suggest Stanford’s Introduction to Computer Networking course available on their MOOC platform Lagunita.
>
> The study of networking benefits more from projects than it does from small exercises. Some possible projects are: an HTTP server, a UDP-based chat app, a mini TCP stack, a proxy or load balancer, and a distributed hash table.
>
>
>
> > You can’t gaze in the crystal ball and see the future. What the Internet is going to be in the future is what society makes it.
>
> — Bob Kahn
>
> [Computer Networking: A Top-Down Approach](https://teachyourselfcs.com//top-down.jpg)
>
>
>
> ### Databases
>
> It takes more work to self-learn about database systems than it does with most other topics. It’s a relatively new (i.e. post 1970s) field of study with strong commercial incentives for ideas to stay behind closed doors. Additionally, many potentially excellent textbook authors have preferred to join or start companies instead.
>
> Given the circumstances, we encourage self-learners to generally avoid textbooks and start with the Spring 2015 recording of CS 186, Joe Hellerstein’s databases course at Berkeley, and to progress to reading papers after.
>
> One paper particularly worth mentioning for new students is “Architecture of a Database System”, which uniquely provides a high-level view of how relational database management systems (RDBMS) work. This will serve as a useful skeleton for further study.
>
> Readings in Database Systems, better known as the databases “Red Book”, is a collection of papers compiled and edited by Peter Bailis, Joe Hellerstein and Michael Stonebreaker. For those who have progressed beyond the level of the CS 186 content, the Red Book should be your next stop.
>
> If you insist on using an introductory textbook, we suggest Database Management Systems by Ramakrishnan and Gehrke. For more advanced students, Jim Gray’s classic Transaction Processing: Concepts and Techniques is worthwhile, but we don’t encourage using this as a first resource.
>

> (continues in next comment)

u/stupidandroid · 1 pointr/rails

As someone currently reading up on Object Oriented Design practices this post is a huge help! I was thinking how some of the OOD lessons would apply to Rails since it's a framework and already provides ways to separate concerns in your code.

u/jones77 · 1 pointr/web_design

That is a great book.

Someone recommended this the other day, it's a great primer for graphic design in general:

http://www.amazon.com/Non-Designers-Design-Book-Typographic-Principles/dp/1566091594

----

They've got a web version these days:

http://www.amazon.com/Non-Designers-Web-Book-3rd/dp/0321303377/ref=pd_sim_b_2

u/limitlesschannels · 1 pointr/ruby

I second the railscasts recommendation.

For SOA i'd recommend Service Oriented Design with Ruby and Rails. Covers a lot of ground in that regard.

u/jaryl · 1 pointr/rails

Well I've designed countless systems just like you did, then I wised up. You will too one day, just probably not very soon =)

You are building abstractions for the sake of having them. I won't offer you any pointers or counter arguments anymore, read this, then review your code:

http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330

u/menge101work · 1 pointr/programming

Sandi Metz's "Practical Object Oriented Development in Ruby" (POODR) was the same way for me.

u/furyfairy · 1 pointr/GetSmarter

Happy to help.

BTW this book could also be useful to you , very good book:

http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330

u/gibbons1980 · 1 pointr/csharp

I think learning OOP is a very good idea. There are tons of books on the subject but I would recommend these 2:

Uncle Bob's Agile Principles, Patterns, and Practices in C#

This book will teach you not only about good OOP principles (SOLID principles) but a also a lot about other programming practices such as testing and refactoring.

Sandy Metz's Practical Object-Oriented Design in Ruby: An Agile Primer

Don't worry about being a Ruby book, you should be able to understand the concepts (and learn some Ruby). Sandy ha a very good way of teaching how to think about OOP.

Hope it helps.

PS: I'm curious: what exactly did you struggle with? What made you think you should learn OOP?

u/shipshipship · 1 pointr/cscareerquestions

Contribute to open source. Create something of your own, and contribute to other projects. Since you are basically self taught and you are going for your first gig, conveying to prospective employers that you care about design, testing, and that you are not a cowboy will help. Read and understand books like Practical Object-Oriented Design in Ruby. Also, don't be a one trick pony. Tackling JavaScript could be a next logical step. Needless to say, all your open source and projects you demonstrate should have good test suites.

Learn about the non-technical stuff as well. I think Land the Tech Job You Love is great, and you probably want to look into Cracking the Coding Interview as a starting point for learning more about algorithms and data structures. Upcase is another great resource for beginning/intermediate Ruby programmers who want to up their game. Start solving challenges on e.g. codewars.com.

u/zaclacgit · 1 pointr/rubyonrails

Answers to follow, but try to make sure that you're not being overzealous in your attempts to learn Ruby. Questions about general code methodology are good, but in order to really understand and apply them you'll have to have a pretty solid grasp on the basics.

Despite how it may seem, you might be making it harder on yourself by trying to "skip ahead" and start applying later concepts early on.

There's a reason the first program most people write doesn't involve creating a Person class that responds to greet_with_hello(world).

If you've simply finished the Rails tutorial and want some Ruby experience, I'd recommend giving The Well-Grounded Rubyist a try. Many people in your position have done very well by it, and it will teach you what you need to know as you need to know it.

But as for your actual questions.

>What is the best resource to learn general code methodology and syntax, language agnostic. I'm picking things up what I would consider to be pretty quickly, but I know being able to learn about general themes and syntax of coding would help immensely.

Syntax is inherently tied to the language you're using. While there are similarities between some languages, there's no general "Guide to Syntax" that you would need to worry about. Happily, many people find that syntax is the easiest thing to pick up while learning an additional language. The general concepts are what you learn the first time, and then you learn "How do you do loops in C++ again?"

So don't worry about syntax.

However, Ruby does have the Ruby Style Guide that will answer questions about how to make your code look. As you'll find is the case with many things in Ruby, the style guide is not written in stone. It's just a good idea, most of the time.

With that out of the way, we can move on to things that are not language specific. Well, sort of.

Data Structures, Algorithms, and Design Patterns are established ways of doing or handling certain tasks. In theory/abstract, these are language agnostic. In practice, application or use can vary between languages.

There are a handful of decent books that will instruct you on advanced data structures and algorithms. I would visit /r/learnprogramming and peruse their sidebar for recommendations. That being said, I have yet to find a book written with examples in Ruby though. If you're completely unfamiliar with other languages then you might want to find something that deals in some sort of pseudocode.

It might be difficult to translate the concepts that are presented in pseudocode (or whatever language the book chooses) into Ruby. Especially if you are not decently comfortable with solving problems in Ruby, and thinking about problems in Ruby.

However, there are some books out there on how to design things in Ruby. They happen to be really good books too. I've honestly lost count of how many times I've recommended them, let alone how many time I've seen them recommended.

Practical Object-Oriented Design in Ruby will essentially guide you through learning what should and should not go into an object, and when to make those decisions. It is an eminently readable book, and conveys the information in concise and graspable fashion.

But if you're not in a position where you're really comfortable with the idea of what Objects are, and how you create/use them in Ruby, this book might be best saved for after you get a handle on the basics of that stuff.

In fact, most people seem to get the most benefit out of this book after they should have already read (and heeded) it. Sort of a situation where the right way makes the most sense only after you've been doing it the wrong way.

Secondly, Design Patterns in Ruby will show you how several common ways of doing things are utilized in Ruby. Personally, I read POODR before Design Patterns in Ruby, but I'm not aware of any reason read them in any particular order.

I'll reiterate that both of these books have general design concepts inside of them, but that they are dyed-in-the-wool Ruby books. You will absolutely learn things that you can take elsewhere, but it won't come to you in a purely abstracted manner.

>Is there a list of all the predefined calls in Ruby that I can find somewhere. Occasionally I write to do something only to find out that I'm breaking down a process that is shortened already. I'm sure these are commonplace for people who have coding experience before starting Ruby, but that's not a luxury that I'm afforded.

Absolutely! It's at Ruby Docs.

Don't get yourself down on this one. In this very particular case you might be a little better off than someone that has a bunch of programming experience in other languages.

Why you ask?

Lots of people aren't necessarily expecting the ease in which you can cause things to happen in Ruby with just a few method calls. They are waaaaaaaaaaaaaaay more used to breaking things down into smaller problems as a matter of necessity than you are. So congrats! Fewer habits to break there!

You can actually just google "ruby docs class-name" for whatever class you're working with to see what methods are available to you out of the box and what those methods do.

As a recommendation, I'd get pretty familiar with the module Enumerable, and check out the Array class. You'll end up using those a lot.

Like a whole lot.

In case you're curious, the awesomeness found in Enumerable is usually where people with prior programming experience tend to make things harder on themselves, because they're use to things being harder on them. A one line split, sort, and join is just a thing of beauty.

>Lastly if there was anything that really helped you that I didn't mention I'm open to any suggestions really.

In all honesty, what really helped me the most in learning Ruby was getting really comfortable with the syntax, and then learning what to do after that.

RubyMonk is probably one of the best places I've used to get a guide through Ruby, even advanced topics.

CodeWars is a good way to give your mind a nice stretch and workout. You'll just solve little problems that force you to make sure you know how to use Ruby when you need it.

After you're comfortable with the language, start making some small projects.

Games are usually a good first start. They have clearly defined rules and orders of events, as well as lots of things that are easy to recognize as objects.

Black Jack, Tic-Tac-Toe, MasterMind, BattleShip, and Chess are all pretty good projects to work on, and maybe in that order too.

Somewhere around then end of Tic-Tac-Toe or MasterMind I'd probably crack open POODR and giving it a read through. The value of all the lessons might not make complete sense at first, but it's that way with everybody. Just trust the author and go along with it.

Lastly, and I can not stress this enough, learn how to write and use tests for your code.

I know. It seems like tests are a waste of time. You're writing them before you're even really writing the code. On top of that, you already know how you want to do the thing you want to do, and it'll work!

Trust me. If the thing you're making is at all complicated, write some tests.

If you're ever going to want to change anything about it, write tests for it.

It will save you an incredible amount of time when you start breaking things, and will also give you the confidence that things probably aren't broken after you've fixed them.

Also, feel free to ignore everything I said about not jumping too far ahead. People learn in different ways, and desire to learn in different ways. If you feel like learning more advanced concepts now is going to be way more interesting for you, then you should totally do so.

u/fedekun · 1 pointr/webdev

Personally I tried learning from books and I found it quite tedious. There's a lot to cover and if you already have experience with other MVC frameworks you feel like you can skip most parts. Probably the best Rails-specific book is Agile Web Development with Rails.

Personally I learnt using CodeSchool and their Rails courses. That way I started hacking stuff myself, some of the Rails Tutorial also doesn't hurt, although I got bored halfway though but still, good stuff, you learn about manually handling users accounts. I dislike cucumber though, but you can ignore that part and/or use other testing library (which you learn in CodeSchool too).

Once you know the basics and the idea of Rails you can get away with google and the official ruby guides for reference, and you really need to pay attention to good OO practices in Ruby, books like Practical Object Oriented Design in Ruby and Confident Ruby are great for overall ruby coding standards :)

u/Marodra-sama · 1 pointr/india

Pixel Perfect Precision handbook for UI basics.

Seductive Interaction Design is also a good read.

Visit Dribbble, Behance, Codepen etc. for inspiration.

u/Prometheu · 1 pointr/web_design

There are limits and boundaries, we(humans) are those limits and boundaries, our eye and our brain. Do you recon an interface IronMan Computer-like would work in real life? I don't think so ... At least not for someone below 280 IQ.

Let me put it in a different way. Is the computer in you DNA? No it's not. Is the computer in your past history(as human)? No it's not. Homo sapiens are 50.000 years old, computers/digital interfaces are 20-30 years old? First writing on a plane surface was 5210 years ago. First writing on a computer was ... let's say 100 years old.

Now ... what would be the easiest things for you brain to understand? What's in your DNA and what's not? If you think this is irrelevant you should study design (not design tools or other digital/print designs). You can start with this one: http://www.amazon.co.uk/Seductive-Interaction-Design-Effective-Experiences/dp/0321725522

It's cool and I agree with pushing the boundaries but not in a stupid way or an unlimited way (see Iron Man digital interfaces).

As humans, we are limited.

u/howdoyouinternet · 1 pointr/Design

Try Seductive Interaction Design. It's less of a step-by-step instructional and more of a interaction theory guide.

u/drewnibrow · 1 pointr/Design

Hey Mug2k. I think you are progressing well. Here are some resources that helped me with web and interaction heavy stuff b/c that's the direction you seem to be going. Also kudos for using Sketch!


Don't Make Me Think by Steve Krug (The bible of interaction):
http://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515


A Book Apart by Various Authors (Based on the excellent blog 'A List Apart'):
http://www.abookapart.com/


Design+Code by Meng To (One of the best when it comes to Sketch):
http://designcode.io/

u/rootyb · 1 pointr/web_design

You know... most of my design work is strictly web-based. Links and stuff. A great book for that, though, is called Don't Make Me Think by Steve Krug.

It's a pretty solid book that talks a lot about using things like hierarchy and position to visually describe relationships, rather than expecting the user to be able to think about it and figure it out (which users don't like to do, generally). It's more focused on web-specific stuff than general UI, but I think the lessons are broad enough that you could find them useful.

u/edhdz1 · 1 pointr/u_edhdz1
u/rukestisak · 1 pointr/Ubuntu

> Please tell me you don't expect people's websites to fit into a pixel grid and follow the mockup precisely.

:D I do the transfer from mockup to code, so everything fits precisely to my specification hehehe. When I am transferring other people's mockups, I try and follow the mockup as closely as possible. Sometimes the mockups are not precise, themselves so I edit them.

> Where can I actually learn more about how to design from the ground up? I'm working on a site that has no existing analog, so I can't just look at how other people have done the same thing and mimic them. I don't even know what to put on what pages.

Hm, I would need some more information to give you good advice. Try and imagine a scenario where a customer is using your site. What is their main goal when using it? Can you simplify the process of them achieving this goal? Any less important goals? What are your main goals with the site? Where would the most logical place for various elements around the site be?

Read Don't make me think for a great usability primer. PM me if you want any more help.

> I thought Gimp did have adjustment layers. At the very least, you can set the blending mode for a layer in such a way that it effectively adjusts one thing in the overall image.

Can it place for example a Hue and Saturation filter on its own layer like Photoshop? I don't want to copy everything into a new layer, apply filter there and then mask or whatever.

> I think the cited reason for the lack of CMYK in Gimp is that they feel Gimp is specifically for image editing, not printing; Photoshop was originally created specifically for printing.

Right, PS started that way but then it evolved. I think GIMP should mimic a lot of PS functionality if they want to see pros switching.

> The .psd support is really lacking. I don't have any way of testing Krita's .psd support... But I do know that if I export a file as .psd from Krita, it doesn't open correctly in Gimp. Specifically, any text objects simply vanish. That's all I've tested, though. Granted, it doesn't exactly import into Krita perfectly either, even though it was saved from there...

Yep. If I receive a .psd from a client I need to be able to open it without any glitches. Currently it doesn't.

> If 'Blending options' in your post corresponds to this post about 'Blending Modes', yes, and Gimp has had them for a very long time. I refer to them earlier in this post, talking about adjustment layers (since I'm otherwise somewhat not sure what you mean by an adjustment layer).

I'm actually talking about the option titled Blending Options which you can select when you right click on a layer in PS. This brings up a Layer Style dialog box with a ton of options. Now, GIMP might have similar functionality scattered around, but I haven't found it yet and it's very useful as I use that dialog box constantly.

> I looked up adjustment layers. Gimp does not have them, but most people say a lot of their functionality - but not all of it - can be made up for with blending modes applied to layers 'above' the layer you want to adjust.

Hassle!

> Also, the APIs necessary for adjustment layers are coming in 2.10, after which they have the technological capability to make them.

That's good to hear. They have made great progress and I am sure they'll see their numbers rise if they get closer to PS functionality.

Another thing I forgot to mention, a minor gripe I have with GIMP's UI - I think the cursor and the selecting bounding boxes look clunky instead of precise. The tools should look and feel precise (as well as be precise), and I think GIMP is lacking here. Compare PS to GIMP and you'll see what I mean.

u/ZetaDot · 1 pointr/web_design

try "don't make me think" from Steve Krug. the third edition came out 2 months ago.. Is more about ui than design, still quite useful and a nice read

http://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515/ref=dp_ob_title_bk

u/thinkingthought · 1 pointr/Entrepreneur

Poor usability. Bad navigation, fonts, colors, walls of text. All of that really hurts my opinion of a website. Design for a great user experience and customers will spend more time on your site.

I highly recommend you read the book Don't Make Me Think - A Common Sense Approach of Usability. I did not know a thing about user experience before reading this book and now I have a great idea what I'm doing. I was just updated a couple months ago and is highly relevant.

u/jmwpc · 1 pointr/learnprogramming

> An understanding of design concepts is handy, but you don't need to be able to come up with the design yourself.

I think this line really sums it up best. You are likely to be tasked with creating some mock-ups, or adding a feature after the designer(s) have more or less moved on to the next project. In the case of the former, having some basic understanding of layout and design will help you create a usable product, even if it lacks polish.For the latter, being able to interpret the existing design, and extracting a few rules from it will let you deliver something pretty close to a finished product.

Working as a contractor or as part of a small team you sometimes have to wear multiple hats. I'm mostly a backend developer, but have (and still do) work on the front-end. There are a couple of books I have read and recommend for people in that situation. Neither will make you a full-blown designer, but do cover the essentials that anyone working on the front-end really should know.

Don't Make Me Think: A Common Sense Approach To Web Usability

The Non-Designer's Design Book

u/erfling · 1 pointr/AdviceAnimals

I think this applies. http://smile.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515/ref=sr_1_1?ie=UTF8&qid=1463753036&sr=8-1&keywords=dont+make+me+think

The world should teach you how to interact with it. Not that that should always be easy in a game, because that's part of the fun.

u/AnonJian · 1 pointr/marketing

> If I've got to stop looking at just the features, price, design....what direction should i be looking in?

Benefits. Okay this is remedial marketing. What you should do is click the links and read what I'm spoon feeding you. Tech loves features because you can have zero users, and the feature still exists. A benefit only exists if the customer and user says it does. A benefit can only exist if users exist and a customer is willing to pay for it.

You are far ahead of me. You know what the product is.

>How do i find out if my company actually is unique in a certain aspect that the competitor isn't?

Your sales guys will give you some biased half truths. Start there.

I've linked articles. I've written out the title and author of a book in my last comment. Hint. Hint.

== More (Reading, in case that was unclear) ==


About Face 3: The Essentials of Interaction Design

The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability

A Simple Trick to Turn Features Into Benefits (and Seduce Readers to Buy!)

u/wackycrane · 1 pointr/webdev

I would like to encourage you a little and liberate you from the thought that a good designers must "be creative" (i.e., good at making things look pretty).

Form and function. Web design is primarily about function (i.e., problem solving). Form plays a lesser role and can be highly subjective. As a general principles, so long as form does not hinder function and is not needed to communicate a particular message (e.g., elegance, happiness, anger, etc.), then good-enough form is good enough.

Consider Craigslist. It's an ugly website. It's not going to win any good-looks awards. Yet, people are not leaving in droves because it solves a problem (i.e., post, search, and review classifieds) and does so well.

On the flip side, there are many beautiful websites that are functionally defective.

Good designers solve problems. If you want to learn good design, I'd recommend a few courses:

  • Graphic Design Specialization [Coursera]
  • Interaction Design Specialization [Coursera]
  • Game Design Specialization [Coursera]
  • User Experience Research and Design MicroMasters [edX]
  • Intro to the Design of Everyday Things [Udacity]

    You can take all of these courses and specializations for free. (Make sure you select the free option if that's your preference.) They will help you learn "design thinking" from three different perspectives.

    A really good book on usability (function) with wide applicability is Don't Make Me Think by Steve Krug. A good book on graphic design basics is The Non-Designers Design Book by Robin Williams.

    Sadly, most web "design" books focus on teaching HTML, CSS and JavaScript rather than design, so I can't provide any good resources specifically on web design. (Maybe others can fill that void.)

    However, the benefit of approaching design from a variety of perspectives and in a variety of contexts is that it helps you learn how to "think design." Seeing design thinking play out across areas reinforces the basic design principles and practices and makes it easier to apply them to web design.

    If you are more interested in form, then I'd recommend looking into studio art classes (e.g., drawing, painting, photography, digital imaging, etc). (Alternatively, you could follow courses on YouTube for these.) While these sometimes focus more on technique, they'll help you learn how to dissect what you see. You'll learn to see objects as shapes, lines, textures, shades, hues, etc. Combine that knowledge with good technique (e.g., drawing, HTML/CSS, Photoshop, etc.), and it becomes easy to make things look nice.

    Also, don't neglect creativity. One of the best books on creativity that I've ever come across is Sparks of Genius: The Thirteen Thinking Tools of the World's Most Creative People. While it's a long read, it provides you with some great tools to use to "spark" creative thought.

    Hope that helps.
u/pinkwetunderwear · 1 pointr/web_design

You want to learn HTML, CSS and JavaScript. When you have the basics covered look up some CSS pre-processors like LESS, SASS and Stylus. Then consider learning a Javascript Framework like Vue, React and Angular. I recommend trying all of them and see what you like.

For software all you'll need is a text editor, most people would recommend Visual Studio Code

When learning the basics it could be helpful with a tool like BrowserSync which will auto refresh your page after save, instead of manually having to refresh your page.

If you want to read a book I can recommend Steve Krug's: Don't Make Me Think

u/pairadice3007 · 1 pointr/reviewmyshopify

My gut reaction is, "OK... What is this?". Even after clicking around a bit I don't have a firm grasp on what it is your store is there for. You're selling power products but there doesn't seem to be a theme or reason for me to return.

One resource that may help you is a book called, "Don't Make Me Think". It's about how a website should be designed in such a way that someone who visits the site knows within 1-2 seconds EXACTLY what the site is about and why they should shop there.

Here's a link to the book on Amazon:

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) (Voices That Matter) https://www.amazon.com/dp/0321965515/ref=cm_sw_r_cp_apa_LACMybNX1991M

u/AgentXTree · 1 pointr/web_design

I was just about to recommend the same. To append more to your comment, OP can start with their playlist on UX design.

I would also recommend:

u/helion_invictus · 1 pointr/web_design

How about the revised edition that was released this year.

u/jacob_the_snacob · 1 pointr/u_jacob_the_snacob

> Great book for anyone that is maintaining a website for a small business or organization. Not a technical book about writing code. Gives you a clear direction and guidance about how the vast majority of users surf the net, and how to make your site easy for the majority of users. Less words, more photos, clear and obvious navigation. Great examples of both real and pretend sites that are good and bad, and why they are good or bad. -- William Sauber

----------------------------

https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515

u/bautin · 1 pointr/cscareerquestions

I have most of these books.

The Art of Computer Programming
The Art of Computer Programming is dense. It is deep. You can likely put off this one. It should be a goal to be able to get through it though.

Introduction to Algorithms
Introduction to Algorithms, I don't have it. All I know is that it does come highly recommended.

Code Complete
Code Complete is excellent. Well written, it feels a lot shorter than it is. It will get you thinking about every step of the software development process.

The Pragmatic Programmer
Another one I don't have but gets recommended time and time again.

The Mythical Man Month
The Mythical Man Month is less directly relevant. It will go over meta issues in software development.

Don't Make Me Think
Don't Make Me Think is also not about code itself, but about design. Because if no one uses your application, does it matter if you made it?

u/patrickcoombe · 1 pointr/bigseo

here is my recommendation on how to learn technical SEO (assuming you already mastered using a computer)

  • Start by learning basic HTML, CSS and Javascript. I'd also recommend codecademy for this. Build a basic website with a few features. Focus learning on responsive web development.

  • Once you've gained an intermediate familiarity with all 3 of those, I'd recommend learning another advanced language. PHP / Python come to mind right away but you can get away with learning just bash.

  • Study databases and pick one to learn such as SQL / MySQL

  • Install a Linux server from top to bottom on a local machine, and learn enough Linux to make programs, edit server configuration files, optimize servers, local and remote filesystems, ssh, etc. Focus on Apache (web servers), response codes, optimization, etc.

  • check out the book .htaccess made easy on Amazon.

  • Learn about DNS / Bind - also practice by learning dig, nslookup, purchase a domain name, edit and fwd nameservers, etc.

  • Start studying the principles of UX (user experience) and check out Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability.

  • Fully digest Google's webmaster guidelines, and Bing's while you are at it.

  • Learn to use and administer an eCommerce and CMS framework. My suggestion is WordPress and Magento.

  • Read my complete guide to on-page SEO.

  • Pick an analytics platform (I use Piwik) but the popular choice is Google Analytics.

  • Learn the basics of regex to make your life easier.

u/Echohawkdown · 1 pointr/design_critiques

I'd strongly recommend you study Swiss Style/Swiss Design through Google. Most of the issues I have with your design, which is echoed others, is that your site's design has too much stuff going on that distracts the eye.

Modern digital design, which is heavily based off of Swiss Style/Swiss Design, focuses on using transitions (e.g., blue background area to white background area) for borders, sans-serif typefaces, repetitive elements (objects which behave/function similarly should look the same; applies to static menus as well as interactive objects), and other principles, all with the express goal of focusing on the message/letting it "breathe". In short, "Don't Make Me Think".^^1

Here's some primers I found on the topic:

Tons of Posters - note the general lack of explicit borders; instead, color changes mark object borders
More in-depth discussion of the history of Swiss Design (also has a ton of posters)

Some more modern sites that I feel would act as good guidelines for the kind of data you're laying out:

TicketLeap
Genymotion - More memory efficient Android emulator; more applicable since it has mockups of software
ProjectPsync - site of /u/Psyncitup; more applicable since it has mockups of software

Another point I want to make - your logo is cute, but has too many colors and looks extremely angular. See if you can clean it up or make it clearer what you do - logos carry a lot of visual weight AND brand recognition, and though it won't break a website (particularly one made as a hobby), it can easily change how it's perceived.

Last point - all those resources I just used don't just apply to web design; some of it will also carry over to your software development as well. Keep that in mind, because there's very few people who are good at both developing and designing.

 

^^1 Been a while since I've read it, but there's a book out there by the same name ("Don't Make Me Think") which was, at the time, treated as the bible/guidebook of web design. It's just been updated this year, so I can't vouch for this newest version, but the second edition is just as good, despite being published in the early '00s.

u/SquareBottle · 1 pointr/Pathfinder_RPG

Thanks for responding and for listening to my feature requests!

For #2, what I mean is going from this:

> [Link to AoN] [Feat name] [Toggle to show and hide the feat tree]

to this:

> [Toggle] [Link] [Feat name]

This small change would improve the UX by making it easier and faster for users to explore feat trees.

Currently, the user has to do a mental calculation to find each toggle. Not a demanding task, but a task nonetheless. Moving the toggle to the left will get rid of this, bringing you a step closer to Don't Make Me Think levels of comfort.

It also would dramatically reduce the amount of mouse travel needed to get from one toggle to the next, which is another one of those tiny frustrations that add up (especially for people using trackpads).

And please note that my suggestions aren't meant to fix UX problems so much as improve what's already good. I'm an interaction designer, so just let me know if I can be helpful as such.

u/tetractys_gnosys · 1 pointr/Wordpress

I've been teaching myself to make websites for a few years now and I've done random site maintenance for a firm and done a build with a larger firm's team and the whole time I was struggling to comprehend what was being thrown my way. It can be scary because there's so much ground to cover initially, to get a working understanding of front end and back end technologies, and because you're having to learn to build a house on quick sand, it seems.

It is incredibly difficult getting all the pieces together to see the big picture at first; I still don't have the entire picture. I do have enough to know generally what to look for, how to search for answers, and have a decent enough understanding of JS, PHP, and MySQL to know how to get stuck. As long as you can get yourself stuck, you're on the right track. Even the best developers get stuck; it's part of the trade and an integral part of development and programming because it is a creative kind of work through a rational and logical framework. You get sometimes bizarre or infuriating issues and you have unlimited ways to solve them so you slam a quad latte, put on some death metal (or your preferred tunage) and treat it like puzzles that you're getting paid for (hopefully). Just remember that you're never going to stop learning, refining what and how you do things. Always be learning, always be flexible, and always remember that it is a multi-faceted beast and if you end up not grooving with front end (HTML, templates, CSS, JS, whathaveyou) you can go back end. Or focus on UI/UX, testing, project management, design, or anything else you can think of.

As far as resources, I have a shit ton of bookmarks in Chrome as well as several ebooks and physical books. I'd be thrilled to share and talk to you about any of it. I definitely learn by teaching among other methods and I've never had any developer friends to learn with or bounce things off of so hit me up if you're into that kind of thing. Learn the basics by doing the Web track on CodeAcademy, play around on Codepen, read Don't Make Me Think, and read The Wordpress Anthology and go through some Youtube tutorials for making custom themes and extending the CMS using Wordpress functions and technology.

Also:

u/spiderofju · 1 pointr/webdev
u/sachio222 · 1 pointr/userexperience

hmm. Where to get started. Learn the gestalt principles of visual design. If you're designing interfaces - these little tips will help you associate, and differentiate well enough to be able to direct attention like a conductor.

Learn to do everything deliberately. If you don't have a reason for something, you're not designing, you're arting. Know the difference and when each is appropriate. For example - want a big splash screen with a fancy colorful image? Is it so you can attract the user to a particular part of the screen? Or is it because you have some extra space and feel like filling it with something. If it's the former, go for it. If it's the latter - you're just making an art project.

Learn about design methodologies, from a university if possible. Industrial design technique is very good for digital problem solving as well. Defining a problem, exploring solutions, and determining a valuable path are things that will help you in every project.

Understand why you are doing what you are doing. And who are you doing it for. Never go past page one without establishing those facts.

Stats will help you in that do everything intentionally part. If you can say 80 of people do this, 20 percent of people do that, you can from this say, that this gets center position, bright colors, dark shadow and lots of negative space. That thing that 20 percent of people do, gets bottom right, lowER contrast, and is there for people that expect it.

Good luck, conferences will help. Podcasts will help. Reading interviews from design teams at larger companies will help.

Asking reddit will help. What you should ask for is paid time off to study lol. Good luck.


edit:
Also get this book universal principles of design I think there's a pocket version. This teaches you what works and why and when to use it.


Get the design of every day things. This book teaches you what good design is. It asks the questions - what is design. When is design good. What is an affordance? How do we signal what things do what? How does all that work? Is a coffee cup good design? What about a scissors? How about google.com vs yahoo.com...

Check out don't make me think... or just think about the title for an hour and pretend you read the book.

a popular one now is hooked. Pavlov's dog experiments except with people, basically operant conditioning for designers.

And learn about grid systems and bootstrap for prototyping. Get a prototyping account. For something, proto.io, invision, framerjs.... Invest in omingraffle and sketch, get a creative cloud license if need be. You will need to show people things a lot. You will need to convince people of your ideas and your paths. You will need to constantly throw together quick and dirty visualizations of what you want to say. Invest in tools that make it simple.

Learn how to sell your ideas. You will be asked a ton of questions as people poke holes in your design. You need to figure out how to soothe their worries. They will your decisions, and you will have to show them that you have the answer. Learn how to present. Learn public speaking. Learn how to communicate with superiors. Learn how to talk with programmers. Learn how to give the programmers what they want from you. Learn how to negotiate, learn how to deliver on time. Learn how to handle stress.

Good luck.

u/surpriseslingshot · 1 pointr/graphic_design

Hey dude! I want to send you a huge long explanation I did a while ago about Wacom tablets (which are "industry standard") that didn't get much love in the original post, but I put a lot of work into figuring everything out for this dude so I thought I'd share it again.

Before I paste in my response to this question someone posted, I wanted to mention a few things about your unique situation.

When starting out in design, it's probably more important to invest in a mouse, the Creative Cloud Suite, and some sketching supplies. I use my tablet all the time, but in my classes only about half of the people use tablets. Everyone else gets by just fine (even in illustration) with a mouse. Trackpads are asses to work with, and a good sketchbook, a set of Micron pens, a nice .5 mechanical pencil and some Prismacolor pens are gonna do you a lot more help than a tablet, especially if you're just starting out in classes. Other supplies you might need include a T-Square, a right angle measure (is that what they're called?), a good X-acto knife and a bunch of blades, a good ruler, some tracing paper, and a case to carry it all around. Oh and a portfolio (one of the cloth ones so you can carry your print work around).

If you're specifically looking at web design, i'd invest in a couple amazon books like this book and this book

In terms of graphic tablets, I'm posting an explanation of all the ones available right now. The person for whom I was originally responding was looking to buy one as a gift for, I think, their SO who was primarily a photographer using Photoshop. And just as I post at the bottom of the quoted message, feel free to PM me if you have other questions about anything that I've mentioned here :) Good luck OP, and sorry for the wall of text!

> First off, it's much easier to navigate the different models via the actual wacom site[1] . Here's a breakdown of Wacom tablets:
Almost all wacom tablets come in different sizes. Typically they are small, medium, and large. Very simple, it just dictates how large the tablet is. On the other hand, it also dictates the ratio of calibration to the screen. Let's pretend that your tablet is 4"x5" and your screen is 8"x15" (for the sake of an example, ignore the absurd dimensions). Since every point on the tablet is directly calibrated to a point on your screen, it'll take 1.5 times longer for your cursor to travel horizontally than it will vertically. Not an issue, but it makes the learning curve for using a tablet a little steeper because you have to learn how to change your hand-eye coordination from 1:1 to 2:3.
Ok so about the different models: Bamboo is an older model that is no longer sold. Now they have Intuos Pro and just plain old Intuos. Bamboo is great, fine, wonderful even, but as time goes on it'll be harder to find replacement stuff (like pens, which I have lost once or twice) for the tablet itself.
Now, in the plain old (newest) intuos family, you've got Draw, Art, Photo, and Comic. Draw, the cheapest one, is not a touch tablet. It won't respond to your fingers on it, just the stylus. The rest are all touch tablets too. All four are considered "small". Draw is the bare minimum. Nothing special comes with it. Next level up, you've got Art. Art is touch sensitive and comes with Coral Painter. Next one (Photo) comes with Tonality Pro, Intensify Pro, Snapheal Pro, Noiseless Pro (and I know nothing about what each program does). Then Comic comes with Clip Studio Paint Pro and Anime Studio® Debut 10 (again with the not knowing what it is).
Next up You've got the Intuos Pro, which is what I use (i'm a senior design student with four years of professional design experience, to put it in perspective I do a lot of illustration and I'm very happy with my Intuos Pro). There's really nothing too complex about these, there's small, medium, and large. That's really the only difference among them.
In terms of which one to get, here's my thoughts. The Intuos Pro family is great, but if he's only editing photos then it might not be worth it to get the more expensive tablet. The bamboo tablets are adorable and easy to bring around, but they jack up the price for absurd programs that you most definitely don't need (Adobe suite is standard in the industry. While he sounds like he's only working with Photoshop, if he ever needs to share a file with someone who doesn't have the programs that come with the tablet, they'll also have to own the software in order to read the files).
I have an older generation Intuos Pro that does not have touch-capabilities. It's fine, I have learned key commands to compensate for my inability to quickly zoom and move around artboards, etc. If you're trying to save money, go for the Intuos Draw. It's a great starter, and within the next year-and-a-half to two years he'll probably upgrade. Or you can drop a hot dollar on the Intuos Pro family and kinda bite the bullet. I started out with a bamboo (back in 2007!) and used it until I came to college. I got an Intuos Pro, loved it to bits, and lost the stylus. For about 8 months I was too lazy to buy an $80 new stylus so I used my 2007 bamboo for all my work, and it went fine! I have since sold my little baby bamboo, but it served me well for a long, long time. The only problem is that the appeal of a new toy is sometimes greater than the practicality and logic of playing with an old one.
Best of luck! Let me know if you have any other questions...

u/Cobalt_Genie · 1 pointr/Design

interesting.

So do you recommend any books on this subject? I'm trying to get a better handle on typical user flows and use cases…

Anyone read Don't Make Me Think by Steve Krug?

I was thinking of picking this up.

u/foodporncess · 1 pointr/IAmA

This is kind of the "bible" for UX: Don't Make Me Think by Steve Krug

This is another good one, particularly in the software design field: Lean UX: Applying Lean Principles to Improve User Experience

And then these websites are great:
Boxes and Arrows
User Interface Engineering
Nielsen Norman Group
UX Mag
UX Matters

u/tmartlolz · 1 pointr/web_design

Are they really any courses that are 'reputable' in the way that a potential employer cares about? I don't think so. Read some books, practice building and structuring UI without bootstrap, build a portfolio you're proud of. Don't Make Me Think is pretty good.

u/NightweaselX · 0 pointsr/learnprogramming

If you can find this book
https://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330/ref=sr_1_2?ie=UTF8&qid=1524292880&sr=8-2&keywords=object+oriented+ruby
That's what finally made it click for me. It's short, good, and Ruby is simple enough you can understand what's going on without knowing the language. And since you're just wanting to reinforce the concepts, you don't really need to code a long in Ruby, you can do it in Java or whatever you want.

u/theofficialLlama · 0 pointsr/learnprogramming

If you can afford it I'd highly recommend this course on udemy. Its $35 but theres always tons of udemy coupons floating around. I've been working through it and it definitely has helped me get a better understanding of both the front end and back end in web development since there's code alongs, exercises, quizzes, and you even make a bunch of small websites as well as a couple of actual web applications. That being said I'm not affiliated with it in any way. Just sharing what Ive been using to learn and its been very helpful.


Also there's tons of books available both paid and free.
As other people have mentioned, Duckett's books on html, css, javascript, and jquery are very beginner friendly with colorful and easy to understand material.

This is a good one that I've been going through to learn about UI/UX and the overall look and usability of your website. It basically teaches you how to make your website more approachable to whoever is navigating it.

I don't think anyone else has mentioned it but Udacity also has tons of free content, a large majority of it being web development and programming courses.

Other than that you're honestly going to just have to start messing around in a code editor and see what does what. Come up with an idea and really just start trying to code it. It could be a small one pager or it could be the start of your web development portfolio. A big thing that I've come to learn is that when you decide that you want to build something and you have no idea what you're doing, grab a good old pen and paper and write down or sketch what you want to do. Sketch what you want your page to look like. Then figure out how to code it. And if you get stuck google is your best friend. Break down what you want to do into smaller manageable chunks, do one thing at a time, and don't be afraid to get your hands dirty. Being a computer science student, this is the best advice I can give you when it comes to learning this stuff.

u/blurrah · 0 pointsr/webdev

I can remember a small quote (let me know if i'm wrong here) from "Don't make me think" that goes kinda like this:
Clicking through links to get to content is okay as long as the user doesn't have to think about the links.

That book is a great read. http://www.amazon.com/gp/aw/d/0321965515/ref=dp_ob_neva_mobile

u/brasetvik · 0 pointsr/programming

For learning about RDBMS internals (i.e. not how to use one), you should at least add Architecture of a Database System by Stonebraker et al. to your reading list. It'll give you a decent overview.

From there, it depends a little on what you're interested in. Transaction processing? Replication? Query evaluation? Query optimizing? The latter specifically is hard to find much useful on in books --- most useful information is found in scientific papers. (I just wrote a master's thesis about query optimization... :)

If you want something inbetween, i.e. necessary knowledge about internals to use the systems more efficiently, Physical Database Design is worth a read.