If you want to customize a theme, first use a parent theme that supports Child Themes, and create a Child Theme as edits to parent themes are lost on theme updates.
A great theme to start with would be the default theme (Twentytwelve currently) as it is designed to be used with Child Themes by WP folks.
And, yes, this requires at least some working knowledge of PHP, HTML and also CSS (at a minimum). Knowing Javascript, JQuery and MySQL well will get you way ahead.